Definitely recommending this to my junior colleague so instead of learning programming languages they will question their existence and purpose in life. Thanks 👍
I’ve been coding since 1982 and the last 30 years professionally and my credo is. I’ve been writing the same programs for the last 40 years. The only thing different is the language or the paradigm. All the rest is the same.
@@ccriztoff ugghh golang is slow and bulky. C++ for the win and if you want something new than rust. It’s faster, more compact and more equipped to do both application development (go domain) and systems software (C/C++ domain). And the rust package manager and test framework are simply the best out there. Super robust and easy to use. I had rust building and deploying in CI/CD pipeline in less than 30 minutes. And that includes actually installing rust on whatever build agent (Linux, windows and macOS) and it all worked with one line of code. And since it produces a single static binary it’s easy to containerize. Link go statically is a bit of a hassle. But rest services in go is easy and convenient.
For any newbies: if all this seems overwhelming, don't worry. The stress of the work will eventually expose you naturally to deeper layers of programming. After 1-2 years, a lot of things mentioned in this video will become part of your vocabulary. Also, tip as a senior: suffer. Yes, really. Suffer. That's how you get better above everyone else
That’s so true. As you start working, these things slowly start coming to you naturally. And it’s always through an uncomfortable way which is that initial exposure and forced learning you do on the job to get the particular task done. Def has been my experience
"How do you see yourself in 5 years?" Junior Developer: imagines himself in a landscape full glass smart apartment window view surrounded by tech with a huge desk full of monitors, working with multiple languages and solving complex algorithms Senior: imagines himself in a farm with literally no electronic device in a 5 mile radius
So true. I imagined my self working in a high tech office, but spent some of my early days in an overflow office, which was a (recently) disused morgue, complete with slug infested body racks working on post-launch telemetry for a space agency.
Yeaah.. i have to sort out mess of arrays holding the data to print out a giant excel sheet with general and various levels of comparisons and three types of grouping data with data comparison with previous years for companies to do their analysis on. And that excel sheets can be differently sized and have various number of columns depending on which options the user chose, from about 50 various options that interact with one another in unique ways. And all that in PHP, via PHPSpreadsheet... So yes, i am procrastinating watching unrelated programing content now and then... ...after 100+ edited files for unique relations and outcomes and pulling logic and solutions for seemingly unsolvable problems out of my ass at times, i think i deserve it. :D
That’s why reality sucks so bad and behaves so inconsistently. Finally the answer! Let’s rewrite reality in C++ lean mean and fast - and strongly typed 😝
To anyone trying to learn programming from the beginning, my best advice is to just pick a language that you like at first glance. Stop stressing over what language you need to start with, because the most important skill of all is to begin to think like a programmer. You will never have as much of a challenge learning a language as you do your first one. And no specific language is going to make it that much easier because you are training your brain to think in a way that is fairly alien to the way most of us go about our day to day lives. But once it *clicks* and you begin to think like a programmer, you can pick up and become functional in another language in a week or sometimes even just a weekend. You just need to first get used to breaking problems down and solving them with basic yes/no questions and then you are on your way
true took me 1 years to learn python from scratch but then i went to nodejs and it took me only 2 days to write my own website using express and ejs. Once you learn the basic syntax it will get a lot easier obviously you will be brainducked at first..
i mean you got a point. but the clutter that you gotta deal with in c doesn't make things easier, if you want a potentially young student to focus on just what you mentioned as the more important component of learning and understanding the problem-solving systematic thinking approach... having something "simple" where there is less chance to get frustrated over a forgotten semicolon, or something like that (i.e. Scratch), is nice and beneficial. Maybe I'm just a little simple, but i liked doing the one crappy "Scratch" project, that I did. I also enjoyed "Niki" (basically a german clone of "Karel, the robot"; mini-programming language based on pascal), back in school as a kid. Just our tutor was hopelessly incompetent... I mean... it was an introductory class, and all the 14-15 year old teens had usually solved the code and started playing some motocross game over the network, when he figured out his code wasn't working during his "presentation" at the end. ^^D
@@ClashClash89 True some will likely be slightly easier than others. No doubt it would be more clear for a beginner to work with Python rather than C or Rust. But I feel like a lot of that clutter just becomes boilerplate in the mind of a new beginner as they inevitably distill the work down to being the same in both languages: understanding basic program flow. What I see a lot online with people trying to get started programming is that they become paralyzed, thinking that there is a magical programming language that will make it possible for them to start coding and others would make impossible. And even once they start if they hit a rough patch where they feel they are in the deep end it is so easy to believe its the language and so they go back to square one with another. When really what is causing the difficulties is the foundational skill of programming itself, not the language in most cases. There are of course extremes. If someone said they were learning to program by writing modern Intel CPU assembly, I would definitely suggest starting somewhere more friendly haha
Me starting programming: "I wish I had started this stuff twenty years ago!" Me watching this video: "I'm glad I waited until I was already a psychonaut."
@@akshy471 It's quite difficult to affect space time with electrons, their mass is too small to have any noticeable effects, but if you could, that would be god like :P
I did VB in my last job cause the company was that old. I was told it was similar too C# being my native framework .... it was not, 3 years of hell working with that tech
I used Visual Basic to scrape the internet for financial information as a hobby before finding there are entire enterprises with data visualization systems built around VB, that sell for hundreds of K's to a million bucks. VB was my pick over Python 3 for its interoperability with MS Excel.
@@hamzapatel2547 I’ve learned how to automate a lot of repetitive weekly tasks at my job and I started dedicating my channel to make RUclips shorts for people interested in programming! So it’s going pretty well! 86k views and 73 subscribers in the first month and a half!
@@hamzapatel2547I have automated a lot of my day job and started posting coding videos as RUclips shorts and gained 73 subs! Also got a freelancer front-end web dev job that paid $1,200. It’s a lot of work but going really well!
I'm a Senior Principal Software Engineer, programming for 25 years and a fan of many different languages. This is the most accurate overview of languages I've seen without going overboard. There are some notable exceptions like Perl (and pseudo-languages like Regular Expressions) but it also had a few I wasn't aware of, like V and C--. Well done.
Agreed was really well done, was concerned I mothballed myself in the higher tiers but seems I have definitely dove rather far into the iceberg, but really only messed with ASM as a hobby...was not a fan of being so close and intimate with the hardware.
I have a philosophy degree and this video is my programming journey in reverse order. I started studying epistemology a over a decade ago and recently discovered Scratch ✌️
Lmao true Still it does seem there is a reasonable intersection of people truly grasping CS and philosophy, since they're both close to the ancestor, pure logic. More so than some other more applied fields
After watching this video, I think I will need an extra life to learn skills that will help me lend a junior software developer job. Edit: it's a joke to follow up Jeff's joke guys
Basically you can see that it is not an iceberg... But different tools for different purposes, don't get scared by this video, if you like programming do a favor to yourself and keep practicing everyday. I'm a software developer that started from nowhere, after 7 years I'm already living in another country and have a good life. I'm not rich, but I'm happy and have a comfortable life. And I study programming almost everyday. My main language is Python, I've been through C, C++, Lua and Go, but what brought me here was my capability of solving problems, not the languages that I know, for that, there are documentation and courses. Stay hungry...
@@elizabethli6678 Not really. A bit, but it's nothing like how a mathematician works with math (for the average programmer). You face more of a language problem than a math problem. Figuring out how to tell the thing to do the thing you want it do, and then figure out why it didn't do exactly that. It's about logic much more than it is about math.
This was a wild ride. I've dabbled in programming a few times and recently decided to take a deep dive and go back to college for computer science. I have four five week classes coming up on Python, JavaScript, C++ (which I learned a bit in college 20 years ago), and SQL. Pretty damned excited, honestly. I can't wait to get to a point where I can feel comfortable playing around with some of the more obscure languages.
I started my career as a nuclear engineer in 2009 working with reactor physics and fuel performance codes written in FORTRAN. I didn't have an IDE either, just notepad and the compiler. My colleague remembered a time when he had to walk to the computer building with his deck of cards and return the next day for the results - good times!
Back in the cards days, the hardesr working programmers were the most swole, too. Actual chads. No need for lifting, nor cardio. (Much safer and productive than crossfit, too 😁.)
I still write half my code in nano. IDEs tend to just get in the way. I don't want to monkey around for hours trying to get the IDE to see my project dependencies properly. I just write the compiler line myself and its done. Sometimes I do like to have the syntax highlighting, etc... though, so editors like Sublime are nice. Some IDEs also like to fuck with your code if you don't change the default options. Almost failed one of my earliest programming assignments because Visual Studio compiled my code with a dependency on a Microsoft redistributable (which of course wasn't there on the Linux grading server). My jaw hit the floor and I was like, "So how am I supposed to compile and submit my code!??!" to the TA, because some of them had recommended Visual Studio. I did manage to find the option and get to compile without needing that dependency, but it was just such an incredibly stupid default that that day I went to writing my code on Linux and never went back.
The 2 most important things about a language are what it can do and what it can't do. (Technically the same thing but easier answered separately) After that difficulty to use matters. All of these answers feel like slander so i fully on board with slandering all of the languages. (Although personally i like C++ and Java and really dislike Python due to a bad first experience with it. But my brain also just seems wired for object oriented coding so not having classes and inheritance hurts, and being forced to think at a hardware level is not fun. Fortunately i am an EE not a CompE or Software major so i get to learn the interesting concepts and not do the painful stuff like actually using Assembly)
My experience learning many languages and frameworks has taught me that the specific thing you learned will probably have minimal significance for you, but the process of understanding that tech and the effort you put into it will yield massive benefits.
As a beginner I must say this should be the top comment. Started learning C++, gave up, switched to Python, thanks to my bellow amateur level knowledge of C++ got hang of Python pretty fast, still on finishing some things in OOP but randomly decided to open Js source code and sure it's much harder to read, but I got the gist pretty fast, same with SQL. So anyone reading this, if you are starting out, just keep going, it doesn't matter if you switch to some other language or whatever it will still help you (if you'd ever played incremental games it's like prestige, sure with switching you start over but progress much faster)
@@MrHQQX yeah starting with c++ is a suicide. I tried to learn another one but then work got most of my time and the rest is for my gf ;^; maybe some day i will start again :p (It was fun haha)
I learned programming on C and C++ and I got to say they're pretty great to begin with to fundamentally understand the flow of the software and memory menagment. It's like learning to swim by jumping directly in to deep waters. If you learn to code functional, stable apps in those language I think you're ready to go.
Yes, my university also still does this approach. You start only with c until you can make simple terminal based programs, using pointers and structs. Then we go to java for OO languages, and apply everything we learn on it (handmade sorting algorithms and data structures) on c later. At this point you can use both languages with or without objects, learn memory management and all the basics of programming, and also learn to evaluate efficient algorithms, so you could technically go anywhere from there. Imo this route is the most begginer friendly because you really learn how to code rather than depend on specific languages libraries or built in functionalities
I started in pascal 22 years ago and can confirm it was very very beginner friendly 😂😂😂 if I started in C++ I would probably hate programming for the rest of my life (loved C tho)
Having just started learning python, I must say, it’s been fun coming to the realization that even writing 10 lines of a working function from scratch can take like 2 hours if you aren’t a senior coder(or using chat gpt).
Wait till u spend 8 hours trying to find a misplaced semi colon ur linter can't find. The key is after an hour of a solution not working go walk and don't think about it then come back 15m later and you'll have the answer
One of the best classes I ever took in college was "C in the Unix Environment" because it helped me understand compilers better and memory and memory management and sort algorithm efficiencies and whatnot. It made me unafraid to really dig in to using the command line to build and run C and made all the higher level languages easier to use, easier to debug and understand complex errors, and really an overall appreciation for the craft.
@@pj1016 Unfortunately I'm unsure. At the time I took the course YT tutorials weren't really a thing. We used the book (still have it!) called "C by Discovery". It's a bit verbose but it's got everything.
The first programming language I learned in College was Java, (hated it cause my professor held my hand through the whole thing so when i got into advance level java programming, it was hard and had to relearn it twice) then i learned HTML, CSS, and Java Script. (that was a lot of fun) after that I learned SQL and promptly forgot about it. Then I graduated, Started to learn python on my own, got distracted, and was certified in Ruby. Now I'm learning Stick. as in stick welding.
Existential questions aside, this is a great way to organize the mountain of coding languages -- especially as a junior developer who kinda wants to try everything new all the time. Maybe the single most helpful video for answering "what language should I learn next?" Thank you!
The language you should learn next is the one that allows you to solve the problem you're facing... which is why I am currently studing the art of sniping. :)
One thing is for sure though, usage of Cobol is declining, and will continue to decline, because it's a terrible language and no one in their right mind is using it for new projects. So even if all we do is educate enough people to maintain a constant supply of Cobol engineers, it's a career that's doomed for a decline in salary since the demand will always be declining. It's only a smart career choice if the decline in supply outpaces the decline in demand, which is a risky bet, since a lot of financial systems are being rewritten from scratch.
@@megamaser i was thinking of learning cobol (its sure that you get a job) but i was upset that my salary wouldnt increase. you comment make me rethink about it.
bro here in Bulgaria there was that one add for Cobol Developer that had twice the salary of any other senior dev ( which a lot lot lot of money for us ) and it stayed there for 6 months , don't know if they took it down or maybe found one guy xD
Functional programming has a lot of limitations. For instance, when operating in huge arrays, functional programs that "change" that array, need to instead copy it in its entirety, modify the copy, and return it... That's not good
@@Flackon bruh, copying a large array is not performant friendly, that's why it is a limitation.generally, if you want ultimate performance, don't ever use a functional language.
Quoting Fireship "You wouldn't want to be on your death bed without trying PHP" !!!! hahahahaa. Then the baby riding the cat! Man where do you come up with all of these fun and crazy humour. I always get a good laugh when I come to your videos. It never fails to amuse me. Please carry on doing all of the hard work you do in order to make such awesome videos! Loads of love and support from me!
This actually helped me build a context of which path I should take for languages as I favor philosophy quite heavily, this was actually relaxing to grasp another ideal of god mode.
The bad thing about this video is that you can't erase it from your mind to rewatch like the first time, until Elon Musk launchs that feature with the Neuralink
Yeah, it's own developer wrote a introducing book called "nim in action" which is a good source to start with. I'm looking forward to learn other cool niche languages like haskell and clojure ^ ^
The amount of energy - research you put in each video is amazing, it's always great to watch. especially love the way it's presented with combination of humor. cheers Jeff
It's so funny to me that people are always chasing the shiny new language then they get out of school and all of the job listings are looking for COBOL and Java because the old tech companies refuse to update their legacy systems. Anyway this video was a masterpiece, especially that ending. I'm always trying to tell people that meaning isn't inherent in the universe!
@@stnhndg whoever implemented that language probably makes a pretty good salary because the general skills that come from being an expert in programming languages are extremely valuable
@@megamaser It was a sarcasm bro ) Noone needs brainfuck programmers. You can try to learn it and then tell us about your working experience. Though we all know the results right?
@@megamaser Brainfuck was developed my Muller who now works for a large Swiss search engine which was once just a phone directory. I'm sure he is doing just fine as a computer scientist.
Yes, R is used in data science, but so is Python. There is a fair argument that Python is more scalable partly because it's a general-purpose scripting language. Some libraries take pythonic code and recompile it using C before executing it. This is particularly useful for deep learning. I had previously dismissed Python as a sort of toy or hobby language, but it's turned out to be far more advanced than I had realized.
They both have pros and cons Julia those is awesome if you haven’t checked it out. The biggest problem is the ecosystem and the support, both of which are growing. It’s fast af (C-tier… as in the tier of C, that’s probably the worst way to have said that)
I have always been mildly, passively interested in coding as a hobby, but dude, your videos have hyper-charged my interest! I'm already doing side coding projects at work, but now I want to dive head first into it. Thanks, your video style is inspiring and entertaining!
Excellent overview of many languages I had heard of, but never had the opportunity to dive into. However, I'm bummed.. you missed two of my favorite esoteric languages... Forth and PostScript (a proper superset of Forth). I spend roughly 15 years as a PostScript programmer/debugger dealing with multi-gigabyte .PS files. Great times.
@@a_changedworld No, never worked for them (officially), but been to San Jose numerous times and provided a great deal of customer feedback on high-volume document generation. Personally knew Adobe Ee #7 (author of The Blue Book), and the gentleman (different person), that ensured that PS LLII would actually run with out issues. Back in the days when a 'firmware update' meant traveling to the customer's site, opening up the printer, and physically swapping out the EPROMs, SIMM, or (if lucky) cartridge. He and I had a lot of really good discussion about designing testing frameworks and why solid testing for mission-critical systems can be more important and costly than the initial development. What we did was was EDPP work. Unlike most PS work (RIP once, make plates, and print), our jobs were "a million masters" - each page was unique. I still have my Red Book (LLII) handy, and copies of the Blue and Green books floating around. But, like most things from that era, lots of nostalgia, and collecting dust and cobwebs. Thanks for helping me relive some good memories.👍
So glad I began coding with HTML/CSS/JavaScript at twelve. Now I have the mental ability and fortitude to learn Chef, which has always been my ultimate goal. Thank you for enlightening me to the paths of the esoteric revolution.
This is like that meme where the mind just keeps getting more and more electrified and in the end it's just noise and fuzz and darkness. This was beautiful
Have a look at mine, from old school to extreme new and engineer… It will make you cry and make the wise choice to do something else with your skills 😄
Don't listen to the nay sayers. Everyone will sooner than later learn to code in some form or another. At least reading it. Just enjoy the journey like in everything else.
One thing always to remember. What you want to achieve as an end result will determine the language you use. What is not mentioned in this great video is the amount of memory you require to run the code.
Man, things are so different these days, although you have certainly hit upon a few of the key points I've watched over the years. I discovered BASIC in a geometry textbook appendix when I was in tenth grade. I whined until I got a VIC-20 and learned BASIC and 6502 ML. That was more than enough for my first programming job in the '80s. But the next step was going to have to be either Pascal or C, both of which were supported by those amazing new IDEs Borland introduced. I physically went to a physical bookstore and purchased Turbo C. I made a living in the corporate world with C for about eight years, adding SQL and shell scripting along the way. Then came Visual Basic for a few years I'd rather not think too hard about, then Java. That one lasted me a very long time. It was introduced to me by an IBM consultant who was excited about their new "Visual Age" IDE. Youngsters will know it as Eclipse. I knew it as a properly object oriented language with a never ending series of new libraries and techniques. EJB 1.0 anyone? None for me, thanks, my brain is full. I admit it: It took me too long to absorb functional programming because it became so easy to do so much with OOP, and I had to support pre-8 Java versions for a long time anyway. These days I use JavaScript a lot, which is probably why I'm awake right now typing comments on RUclips at 4 AM. I work with a team that really only knows JS frameworks, so I adapt. But man, the lack of native type safety feels so weird. The next big thing for programmers should probably be Rust. I'm learning it myself because if my portfolio collapses I'll be working for a few more decades. Besides, for a real developer, the learning is the real reward.
7:25 C still the perfect language for embedded devices. Still millions of lines of code written in C by firmware engineers for the foundation of every IoT device and microprocessor based system (basically every device we have today). So I think embedded C should be nearly at the bottom of the iceberg, because to be able to write a peripheral driver for a 32 bit uC system from only the datasheet of the given uC, the engineer has to be familiar with the assembly and machine code of the given uC.
Not to mention entire hardware architectures are designed and optimized to run C programs. Writing assembly is cool for simple 8 bit microcontrollers but once you reach higher complexity it's about C and using manufacturers drivers. Nowadays we are moving higher up towards Micropython, like for Raspberry Pico, which is fine for simple, slower undemanding stuff. For the rest you need C code.
Efficient programming will always be needed in the future. More efficient -> less energy usage -> smaller battery required -> less mass. I can think of many applications where this logic is still valid, and always will be. Especially since edge computing and micro/swarm machines are upcoming trends.
I remember when I started coding in Python I struggled real hard. Not only with the thinking process but with the fact that the language takes a lot of stuff for granted that I didn't. I started with Pascal in school and wondered that I didn't need to declare variables, had no idea what variable type I had each time - I thought in a way too complicated for the language. Still my problem. I often say I do quantum computing because I am too stupid to understand how normal computers work. With understand I mean understand each level and layer. Modern computers are way too complex. A good friend once told me that he sucks at coding as well. He is one of the best hackers in my home country and suffers from the same issues I do. What I still don't get is object orientated programming though.
Note: Kotlin is not just used for Android apps, it is generally used to replace Java on the JVM, and it can also do multiplatforming. APL is not just historically important, it is used in data manipulation applications.
I've been programming proffessionally in Silicon Valley for the last 5 years, & I can say this checks out. Most everything I do has been in Python and Javascript (+HTML/CSS), and sometimes Java. After running into the limitations of OOP/dynamic types, I started exploring functional languages & approaches and other statically typed languages. One note is that my undergraduate studies actually had us explore this iceberg in a u-shape: top, lower, then back to top again.
Interesting. I'm learning programming by my own since 1995 but still I cannot figure out everything. The most important thing in programming are the concepts which no one cover. It annoy the hell out me. You need to understand plenty of stuff how OS works so you cannot program, so with python I could start pretty much doing stuff and fetching data as example. I also start to learn C, very easy, but no one gives intel for what the use of C is. Is it for machine only or you can do a browser with it? Is it convenient to use functional language to develop apps or is it a BIG no NO! Because I don't want to learn a whole language so in the end I discovered I made a huge mistake! *I would appreaciate any possible answer here
@@givdb5513 you haven't been learning since 1995 or you'd know those by now. Based on your questions, you haven't actually learned much of any programming. I remember after my first few weeks of learning C++ (also my first programming experience) I asked a forum "what more can I do with this? Is it useless? I don't see how it is possible to make a game with it!" It was just my lack of knowledge of programming in general, and now it is more or less intuitive on what each language is for. If you dive in and actually make a program all those questions will show their answers... just make something! But to answer your question, you don't learn a language based on what opportunities it offers. You learn a language because what you are making requires that language. Learning 1 language allows you to learn all kinda
Great ride. When you went down to the transistor/gate level I thought you might mention hardware description languages like Verily or VHDL. It also reminded me of this quote by a computer hardware pioneer: "There are a surprising number of people who program day-by-day but don’t actually understand how a computer works. That limits you. It’s important to have a fairly good idea of what goes on at the bottom. Cutting it off at the C compiler seems to me to be quite limiting." (Charles Thacker, 2012)
The further down the the iceberg we go, the more I remember languages that I took in college and somehow ejected from mind until seeing it again in this video. Think I might end up with nightmares for a while.
It's just bizzare how you achieve to make such an informative video with hours of content compressed into 16 minutes. You deserve a bottle of whiskey. Every time when someone asks me what I do for a living and why I'm always under pressure. I'm going to show them this video. I think I'm going to show the team this video. It's impossible to know it all... or is it?
In my university, the first programming language they teach us is C, followed by C++ and then moving on to assigning us projects (e.g. Artificial Intelligence, if you choose to take this subject later on) requiring knowledge of Python without actually spending time to teach us this language at that point. C is a very good beginner language because, like it was stated in the video, it's the language without which, a lot of the "big" ones in the industry now wouldn't exist. Edit: They also teach us Assembly in the 1st year for the mandatory subject "Computer Architecture I" which as you can imagine is a pain in the ass...
@@Cyranek welp, apparently i can't say shit because yt's notifications are bad af. also, i uh already made enough bad decisions for a life time, and i don't think i want to make any more of them.
If historic patterns have any indication, JavaScript frameworks will solve quantum computing first due to its blazingly fast nature. Nothing strikes more fear in a JS dev's heart than to hear that they are suboptimally only fiery fast, lukewarm fast, or even frigid fast.
The first language I learned was c/c++. And I still use those languages to this day. The lowest I got in this list was asm because I was playing with sectors to make a bootloader.
I started with machine code on the Commodore 64, moved on to making a two player game in assembler in the bootblock (1024 bytes) of a floppy disk on the Amiga. I now work in DevOps and I love it :)
The end piece about "reality" made me subscribe. This was some highly informative and excellent content. Always wanted to try a deep level langauge and Nim became my option, all thanks to the hard work you put in for the development of this here gem.
"or maybe I never came out of the ayahuasca trip i took ten years ago" Considering that there is Lisp, a language in the 1960s that has dynamic typing, garbage collection, a meta programming that is still unreached more than 50 years later, and a system of being compiled while at the same time being interpreted and changeable at runtime, (honestly at this point I just accept this is plain magic, no computer science involved here) I think this is really the case. There is no way this can be real.
I was a Java veteran throughout highschool. Then I went to college and our Comp Sci 101 class was in Racket (LISP-based). I wanted to end it lol. *_Everything is a list. Everything._*
I started reading Structure and Interpretation of computer programs and it uses scheme in its examples. It did blow my brain but I get PTSD every time I look at scheme code having more than 50 lines.
@@deepakthakur8781 i could never figure out how to get Racket to compile outside of their proprietary IDE, (DrRacket). It just didn't want to run in the terminal. Drove me mad.
Very good job, thank you for your time and effort. The only but I would like to express is about lack of several languages in the bottom part. You didn't mentioned any of hardware languages such as vhdl, verilog or systemC. There are also some others, but those 3 are major
came looking for this comment, where be my HDLs, I have a special love-hate relationship with these lovely fuckers. But I mean in some sort he talked about it when talking about transistors since you can look at your circuit in vivado and change it if you need to lol.
@@Schulzenberger well, yes and no:) talking about transistor is a bit far from programming languages and not even close to any of hardware oriented languages. Let's hope that our discussion won't be unseen by the author and he will at least share with us his opinion and causes
I went straight from visual programming in pure data to learning c++ cause i wanted to use arduino - it's comforting to find out that it's got a steep learning curve and i'm not just slow lmao
so when i started software engineering at my university , i had absolutely 0 knowledge or understanding of coding. we started with java and i personally found it to be really solid for grasping what programming is and how it works. It's a good ground where it's not extremely overly complex, but detailed enough to engage you in the more critical thinking part of software development at a beginner level
I started programming from VBA, and now I am working with Python, Kotlin, and TypeScript, combining with Docker and many other tools and frameworks. Programming is a huge iceberg that makes you want to dig deeper and deeper. Feel comfortable on one, and move to another one. You will always learn something new.
The best part about VBA is that it can run DirectX code. I wrote a game engine back in 2006 in VBA. It was shit, but it ran. Not many people can say they played a first-person shooter in Excel.
You’ve inspired me to finally quit programming and take up farming. Thank you
Sounds the most based decision ever
Ironically it's not much easier
Show me ur ways
Hahahaa
😂😭😂
I like how in one moment we go from actual programming languages to straight up philosophy
When you delve deep enough through all the abstraction layers, you always find philosophy lol
I now understand why we do philosophy in computer Science
Starts talking in greek alphabet
@@bluerilius4362is that a Wikipedia reference
@@todthesushimonster1256 idk is it supposed to be one? i honestly just made it up on the spot
Definitely recommending this to my junior colleague so instead of learning programming languages they will question their existence and purpose in life. Thanks 👍
They will anyways
;)
😂
I’ve been coding since 1982 and the last 30 years professionally and my credo is. I’ve been writing the same programs for the last 40 years. The only thing different is the language or the paradigm. All the rest is the same.
@@ccriztoff ugghh golang is slow and bulky. C++ for the win and if you want something new than rust. It’s faster, more compact and more equipped to do both application development (go domain) and systems software (C/C++ domain).
And the rust package manager and test framework are simply the best out there. Super robust and easy to use.
I had rust building and deploying in CI/CD pipeline in less than 30 minutes. And that includes actually installing rust on whatever build agent (Linux, windows and macOS) and it all worked with one line of code.
And since it produces a single static binary it’s easy to containerize. Link go statically is a bit of a hassle. But rest services in go is easy and convenient.
For any newbies: if all this seems overwhelming, don't worry. The stress of the work will eventually expose you naturally to deeper layers of programming.
After 1-2 years, a lot of things mentioned in this video will become part of your vocabulary.
Also, tip as a senior: suffer. Yes, really. Suffer. That's how you get better above everyone else
As a first year computer science major, thank you :)
If you haven't cried at work, you can never be a real programmer
Hey uh, I'm doing this for fun.
That’s so true. As you start working, these things slowly start coming to you naturally. And it’s always through an uncomfortable way which is that initial exposure and forced learning you do on the job to get the particular task done. Def has been my experience
yo how much do u make
"How do you see yourself in 5 years?"
Junior Developer: imagines himself in a landscape full glass smart apartment window view surrounded by tech with a huge desk full of monitors, working with multiple languages and solving complex algorithms
Senior: imagines himself in a farm with literally no electronic device in a 5 mile radius
So true.
I imagined my self working in a high tech office, but spent some of my early days in an overflow office, which was a (recently) disused morgue, complete with slug infested body racks working on post-launch telemetry for a space agency.
Ffs I'm a senior in CS school and I already imagine myself in a farm.. near a beach.. with goats
Don't worry, AI will outcompete us in the next decade.
@@Danuxsy At farming or in CS?
@@Danuxsy AI already renders the probable future of mankind and I don't like what it renders...
I love how I procrastinate programming by watching unrelated programming content
So true
Thats what i am doing rn
Yeaah.. i have to sort out mess of arrays holding the data to print out a giant excel sheet with general and various levels of comparisons and three types of grouping data with data comparison with previous years for companies to do their analysis on. And that excel sheets can be differently sized and have various number of columns depending on which options the user chose, from about 50 various options that interact with one another in unique ways. And all that in PHP, via PHPSpreadsheet...
So yes, i am procrastinating watching unrelated programing content now and then... ...after 100+ edited files for unique relations and outcomes and pulling logic and solutions for seemingly unsolvable problems out of my ass at times, i think i deserve it. :D
@@DreamskyDance oh damn man that's tough. What's your job if you don't mind answering?
@@mattia2837 web developer...full stack, you might say.
Yeah it is, but what you gotta do..you gotta do :D
Man, imagine how this guy will react when he finds out that reality is actually programmed in JavaScript
That’s why reality sucks so bad and behaves so inconsistently. Finally the answer!
Let’s rewrite reality in C++ lean mean and fast - and strongly typed 😝
@@CallousCoder just rewrite it in brainf*ck
Lol turtles all the way down
Nah. My theory is that reality is a very, very, VERY complex Hypercard stack running on a Macintosh SE/30.
Bruh, the render distance (observable universe) is so small, we definitely need to rewrite it in C++ or Rust
To anyone trying to learn programming from the beginning, my best advice is to just pick a language that you like at first glance. Stop stressing over what language you need to start with, because the most important skill of all is to begin to think like a programmer. You will never have as much of a challenge learning a language as you do your first one. And no specific language is going to make it that much easier because you are training your brain to think in a way that is fairly alien to the way most of us go about our day to day lives. But once it *clicks* and you begin to think like a programmer, you can pick up and become functional in another language in a week or sometimes even just a weekend. You just need to first get used to breaking problems down and solving them with basic yes/no questions and then you are on your way
That is excellent advice.
true true, language doesn't matter, just gotta be able to think your way to the solution
true took me 1 years to learn python from scratch but then i went to nodejs and it took me only 2 days to write my own website using express and ejs. Once you learn the basic syntax it will get a lot easier obviously you will be brainducked at first..
i mean you got a point. but the clutter that you gotta deal with in c doesn't make things easier, if you want a potentially young student to focus on just what you mentioned as the more important component of learning and understanding the problem-solving systematic thinking approach...
having something "simple" where there is less chance to get frustrated over a forgotten semicolon, or something like that (i.e. Scratch), is nice and beneficial.
Maybe I'm just a little simple, but i liked doing the one crappy "Scratch" project, that I did.
I also enjoyed "Niki" (basically a german clone of "Karel, the robot"; mini-programming language based on pascal), back in school as a kid.
Just our tutor was hopelessly incompetent... I mean... it was an introductory class, and all the 14-15 year old teens had usually solved the code and started playing some motocross game over the network, when he figured out his code wasn't working during his "presentation" at the end. ^^D
@@ClashClash89 True some will likely be slightly easier than others. No doubt it would be more clear for a beginner to work with Python rather than C or Rust. But I feel like a lot of that clutter just becomes boilerplate in the mind of a new beginner as they inevitably distill the work down to being the same in both languages: understanding basic program flow. What I see a lot online with people trying to get started programming is that they become paralyzed, thinking that there is a magical programming language that will make it possible for them to start coding and others would make impossible. And even once they start if they hit a rough patch where they feel they are in the deep end it is so easy to believe its the language and so they go back to square one with another. When really what is causing the difficulties is the foundational skill of programming itself, not the language in most cases. There are of course extremes. If someone said they were learning to program by writing modern Intel CPU assembly, I would definitely suggest starting somewhere more friendly haha
Me starting programming: "I wish I had started this stuff twenty years ago!"
Me watching this video: "I'm glad I waited until I was already a psychonaut."
Psyiconolts referenc!!!1!one!!!
@Standing Drum pretty sure hes referring to psychedelics not the video game
Click my picture view channel about
@elchingy97 no thanks :)
@@sobbski2672 Your loss
Personally i like to move individual electrons to perform mathematical equations
Good, once you 10+ of experience and become an expert in electron manipulation, you can be space time bending project manager like me.
@@akshy471 It's quite difficult to affect space time with electrons, their mass is too small to have any noticeable effects, but if you could, that would be god like :P
We talking 2d topological systems? BC if so I'm down
@@TehOldice if you can manipulate electrons, you can do anything
@@TehOldice I work more on the dark side of matter.
i love how we got through an entire philosophycal trip before even mentioning Visual Basic, pretty accurate
hahahahahahahaha
nice pfp
I did VB in my last job cause the company was that old. I was told it was similar too C# being my native framework .... it was not, 3 years of hell working with that tech
wat is that ?
I used Visual Basic to scrape the internet for financial information as a hobby before finding there are entire enterprises with data visualization systems built around VB, that sell for hundreds of K's to a million bucks. VB was my pick over Python 3 for its interoperability with MS Excel.
I just started learning to code… and now I’m overwhelmed.
Great video!
How’s it going?
@@RonaldMcDonald519 still overwhelming, but satisfying at the same time
How's it going after a month now?
@@hamzapatel2547 I’ve learned how to automate a lot of repetitive weekly tasks at my job and I started dedicating my channel to make RUclips shorts for people interested in programming! So it’s going pretty well! 86k views and 73 subscribers in the first month and a half!
@@hamzapatel2547I have automated a lot of my day job and started posting coding videos as RUclips shorts and gained 73 subs! Also got a freelancer front-end web dev job that paid $1,200. It’s a lot of work but going really well!
I'm a Senior Principal Software Engineer, programming for 25 years and a fan of many different languages. This is the most accurate overview of languages I've seen without going overboard.
There are some notable exceptions like Perl (and pseudo-languages like Regular Expressions) but it also had a few I wasn't aware of, like V and C--.
Well done.
Agree. (25+ years of experience here, too.)
Agreed. 41 years experience here! Missed out Objective C as well. Also inspired by small talk, I thought he was going to follow on to it in the vid.
Agreed was really well done, was concerned I mothballed myself in the higher tiers but seems I have definitely dove rather far into the iceberg, but really only messed with ASM as a hobby...was not a fan of being so close and intimate with the hardware.
Agree. (4 months and 17 days of experience here)
A video is only useful if it sets you on the right path. This video just lists the entire space
I have a philosophy degree and this video is my programming journey in reverse order. I started studying epistemology a over a decade ago and recently discovered Scratch ✌️
i am a phil grad too, i am doing okay in cs, but this video was hilarious! just what i always felt in such clarity
It's just rationalization, you probably realized that you are not able to pay back your student loan so you started programming. This is the reason.
Lmao true
Still it does seem there is a reasonable intersection of people truly grasping CS and philosophy, since they're both close to the ancestor, pure logic. More so than some other more applied fields
OMG hahaha I feel you man
Inception lol
Time to add 5 years of experience as a god-tier dev to my resume
XDDD
I am surprised how many languages are made to replace C but no language is able to. It's truly a GOAT.
Huge respect for rust though.
1:38 Popular Dyn High-level
2:20 Specialised Dyn High-level
3:47 Static High-level
5:24 Functional
6:48 Systems
8:21 Nouveau Modern
9:44 Historically Important
11:50 Esoteric
14:39 Lowest Level
Historically Impotent?
Should add "Faint background yelling" to 14:39 timestamp
Not all heroes where a cape
After watching this video, I think I will need an extra life to learn skills that will help me lend a junior software developer job.
Edit: it's a joke to follow up Jeff's joke guys
You dont have 7 YOE in Java and Golang?
One more will be not enough.
Believe in yourself, you can do it
If you study 20hrs a day, you might make it with just one life. I believe in you
😂 True
Basically you can see that it is not an iceberg... But different tools for different purposes, don't get scared by this video, if you like programming do a favor to yourself and keep practicing everyday.
I'm a software developer that started from nowhere, after 7 years I'm already living in another country and have a good life. I'm not rich, but I'm happy and have a comfortable life. And I study programming almost everyday.
My main language is Python, I've been through C, C++, Lua and Go, but what brought me here was my capability of solving problems, not the languages that I know, for that, there are documentation and courses.
Stay hungry...
Do I have to be good at math to start learning it?
@@elizabethli6678 Not really. A bit, but it's nothing like how a mathematician works with math (for the average programmer). You face more of a language problem than a math problem. Figuring out how to tell the thing to do the thing you want it do, and then figure out why it didn't do exactly that. It's about logic much more than it is about math.
Thanks for the kind words. I hope one day I’ll make it there too 🙏
What is your opinion about Kotlin and mobile development. I'm really interested in it, is it worth it?
That's exactly what I'm looking for a comfortable life not trying to be rich or anything
This was a wild ride. I've dabbled in programming a few times and recently decided to take a deep dive and go back to college for computer science. I have four five week classes coming up on Python, JavaScript, C++ (which I learned a bit in college 20 years ago), and SQL. Pretty damned excited, honestly. I can't wait to get to a point where I can feel comfortable playing around with some of the more obscure languages.
I started my career as a nuclear engineer in 2009 working with reactor physics and fuel performance codes written in FORTRAN. I didn't have an IDE either, just notepad and the compiler. My colleague remembered a time when he had to walk to the computer building with his deck of cards and return the next day for the results - good times!
Sometimes you really need a system to be air gapped
that made me yell super hard only a few could do that
Back in the cards days, the hardesr working programmers were the most swole, too. Actual chads.
No need for lifting, nor cardio. (Much safer and productive than crossfit, too 😁.)
Looks like the era of the Eddas rn.
I still write half my code in nano. IDEs tend to just get in the way. I don't want to monkey around for hours trying to get the IDE to see my project dependencies properly. I just write the compiler line myself and its done. Sometimes I do like to have the syntax highlighting, etc... though, so editors like Sublime are nice. Some IDEs also like to fuck with your code if you don't change the default options. Almost failed one of my earliest programming assignments because Visual Studio compiled my code with a dependency on a Microsoft redistributable (which of course wasn't there on the Linux grading server). My jaw hit the floor and I was like, "So how am I supposed to compile and submit my code!??!" to the TA, because some of them had recommended Visual Studio. I did manage to find the option and get to compile without needing that dependency, but it was just such an incredibly stupid default that that day I went to writing my code on Linux and never went back.
Almost 17 minutes of condensed programming language slander and entertainment. I love it.
The 2 most important things about a language are what it can do and what it can't do. (Technically the same thing but easier answered separately)
After that difficulty to use matters.
All of these answers feel like slander so i fully on board with slandering all of the languages. (Although personally i like C++ and Java and really dislike Python due to a bad first experience with it. But my brain also just seems wired for object oriented coding so not having classes and inheritance hurts, and being forced to think at a hardware level is not fun. Fortunately i am an EE not a CompE or Software major so i get to learn the interesting concepts and not do the painful stuff like actually using Assembly)
My experience learning many languages and frameworks has taught me that the specific thing you learned will probably have minimal significance for you, but the process of understanding that tech and the effort you put into it will yield massive benefits.
facts
Basically, it's not about the end, but the friends we made along the way.
As a beginner I must say this should be the top comment. Started learning C++, gave up, switched to Python, thanks to my bellow amateur level knowledge of C++ got hang of Python pretty fast, still on finishing some things in OOP but randomly decided to open Js source code and sure it's much harder to read, but I got the gist pretty fast, same with SQL.
So anyone reading this, if you are starting out, just keep going, it doesn't matter if you switch to some other language or whatever it will still help you (if you'd ever played incremental games it's like prestige, sure with switching you start over but progress much faster)
@@MrHQQX yeah starting with c++ is a suicide.
I tried to learn another one but then work got most of my time and the rest is for my gf ;^; maybe some day i will start again :p
(It was fun haha)
Best advice
Incredible resource for learning programming. Really helped me grasp the basics.
I learned programming on C and C++ and I got to say they're pretty great to begin with to fundamentally understand the flow of the software and memory menagment. It's like learning to swim by jumping directly in to deep waters. If you learn to code functional, stable apps in those language I think you're ready to go.
Love your comment and how you giving us a positive energy ❤
Self taught?
nah that prof pic is crazy
Yes, my university also still does this approach. You start only with c until you can make simple terminal based programs, using pointers and structs. Then we go to java for OO languages, and apply everything we learn on it (handmade sorting algorithms and data structures) on c later. At this point you can use both languages with or without objects, learn memory management and all the basics of programming, and also learn to evaluate efficient algorithms, so you could technically go anywhere from there.
Imo this route is the most begginer friendly because you really learn how to code rather than depend on specific languages libraries or built in functionalities
I started in pascal 22 years ago and can confirm it was very very beginner friendly 😂😂😂 if I started in C++ I would probably hate programming for the rest of my life (loved C tho)
Having just started learning python, I must say, it’s been fun coming to the realization that even writing 10 lines of a working function from scratch can take like 2 hours if you aren’t a senior coder(or using chat gpt).
just wait til u learn assembly.
@@deldrise9169 assembly's fun, atleast it takes less characters than java to write basic programs
Yeah, it's kind of shocking how long it takes to write something that you don't know off the top of your head.
@@GuyFromJupiter if only we had some kind of tool that abstracted this away..............
Wait till u spend 8 hours trying to find a misplaced semi colon ur linter can't find. The key is after an hour of a solution not working go walk and don't think about it then come back 15m later and you'll have the answer
That went from interesting to funny to really deep in a shockingly short amount of time. 10/10 would question my existence again.
My computer science journey has felt like a descent into madness.
One of the best classes I ever took in college was "C in the Unix Environment" because it helped me understand compilers better and memory and memory management and sort algorithm efficiencies and whatnot. It made me unafraid to really dig in to using the command line to build and run C and made all the higher level languages easier to use, easier to debug and understand complex errors, and really an overall appreciation for the craft.
where can I learn this from especially on youtube? any suggestions?
C is arguably still the best general purpose programming language, 50 years later.
@@pj1016 CS50
@@pj1016 Unfortunately I'm unsure. At the time I took the course YT tutorials weren't really a thing. We used the book (still have it!) called "C by Discovery". It's a bit verbose but it's got everything.
@@TheDeanosaurus thanks 👍
The first programming language I learned in College was Java, (hated it cause my professor held my hand through the whole thing so when i got into advance level java programming, it was hard and had to relearn it twice) then i learned HTML, CSS, and Java Script. (that was a lot of fun) after that I learned SQL and promptly forgot about it. Then I graduated, Started to learn python on my own, got distracted, and was certified in Ruby. Now I'm learning Stick.
as in stick welding.
I started with stick now im on JavaScript 😂
How's your stick welding career going bro :D
i nearly failed my c++ class. the struggle is REAL
I literally started to learn stick welding this past summer as a break from writing code lol
Existential questions aside, this is a great way to organize the mountain of coding languages -- especially as a junior developer who kinda wants to try everything new all the time. Maybe the single most helpful video for answering "what language should I learn next?" Thank you!
Forget about the languages, study the iceberg itself.
Depends on what you want to do
The language you should learn next is the one that allows you to solve the problem you're facing... which is why I am currently studing the art of sniping. :)
@@ayporos "One homing slipper, coming right up"
@@ayporos soooo i recently bought Sun Tzus Art of War....
This was hilarious, well done. And yet still informative! I had no idea Rust was the most beloved language.
I love how thorough all this is and how well-organized it is.
Ye like a programmer wrote it or something
@@purpledragons6669 yeah dude, he must’ve been a progammer
What he says about Cobol is totally correct, it's the reason my university started teaching Cobol again (demand for devs from corporations).
One thing is for sure though, usage of Cobol is declining, and will continue to decline, because it's a terrible language and no one in their right mind is using it for new projects. So even if all we do is educate enough people to maintain a constant supply of Cobol engineers, it's a career that's doomed for a decline in salary since the demand will always be declining. It's only a smart career choice if the decline in supply outpaces the decline in demand, which is a risky bet, since a lot of financial systems are being rewritten from scratch.
@@megamaser i was thinking of learning cobol (its sure that you get a job) but i was upset that my salary wouldnt increase. you comment make me rethink about it.
bro here in Bulgaria there was that one add for Cobol Developer that had twice the salary of any other senior dev ( which a lot lot lot of money for us ) and it stayed there for 6 months , don't know if they took it down or maybe found one guy xD
@El Chingy Yes ;D
@@supertophashinshin191 hashinshin
"Most production code out there is not functional."
True, true.
Functional programming has a lot of limitations. For instance, when operating in huge arrays, functional programs that "change" that array, need to instead copy it in its entirety, modify the copy, and return it... That's not good
@@carlosmspk Then don't change the 'array' bruh
@@carlosmspk that's not a limitation. You still end up with a modified array
@@Flackon bruh, copying a large array is not performant friendly, that's why it is a limitation.generally, if you want ultimate performance, don't ever use a functional language.
@@nethsarasandeepaelvitigala135 and use what broski?
Quoting Fireship "You wouldn't want to be on your death bed without trying PHP" !!!! hahahahaa. Then the baby riding the cat! Man where do you come up with all of these fun and crazy humour. I always get a good laugh when I come to your videos. It never fails to amuse me. Please carry on doing all of the hard work you do in order to make such awesome videos! Loads of love and support from me!
A few categories to add:
1- formal proofs languages
2- hardware description languages
3- Compiler Intermediates, most notably LLVM IR
COQ!
I would like to see Verilog/SystemVerilog & VHDL. It's between Assembly and Transistors.
Also SAT solvers are cool
Came here to mention 2
+ stack based (forth factor etc.), string oriented (snobol trac icon etc.)
I love how it start serious and ends with "the universe is the matrix". Absolutely genious. Keep it up!
He forgot Delphi (used within for example Game Maker, before it got renamed to Game Maker Studio) as well as Pawn and SourcePawn though
This is gold. The ending is fantastic. Thanks for making my evening cold bath that much more enjoyable. Hilarious yet informative.
Hol up
He forgot Delphi (used within for example Game Maker, before it got renamed to Game Maker Studio) as well as Pawn and SourcePawn though
@@TheExileFox Isn't Delphi basically Pascal?
Very useful and interesting video, can't stop watching this video, watched like 4 times so far, sometimes with friends.
bro you missed dna and genetic code
And analogue computers
This actually helped me build a context of which path I should take for languages as I favor philosophy quite heavily, this was actually relaxing to grasp another ideal of god mode.
bro had enlightenment on how to turn on creative mode irl
Honestly I've been thinking really hard about which language to focus on and thanks to this video I've decided to go with free diving
all the way to the depth i see lmao
doesnt matter rly, if you can master 1 of them you can master any
id focus on 1 first tho
Your channel has become my go-to resource for all things related to binary options trading
The bad thing about this video is that you can't erase it from your mind to rewatch like the first time, until Elon Musk launchs that feature with the Neuralink
I for one do not want to become one of Musk's drones
@The Absurdatory wouldn't be much of a difference, you're already a drone
@@Jack_______oh nice job, idiot. You can't even understand brainfuck 🙄
lmao yes I wish I could rewatch it like a movie
Elon musk is a fascist piece of shit. I hope Neuralink never will be a thing.
This man just curated all those languages and their functionalities just for us. Big up bro!!
You know youtubers make a lot of money when they make popular videos, right? He did it for money, not "just for us" boyo.
@@jamesevans2507 Boyo?? I've feeling you watch anime😂😂
@@jamesevans2507 yeah understand money is involved but still...this God tier content
@@ryank9719 No I don't, we call people boyo in the PSL community
@@jamesevans2507 Oh I see😂
I love the descent into esoteric self-exploration. Will now switch my major to philosophy.
This has to be one of your best videos. The lower levels had my wife asking what was so funny as I loudly laughed and chuckled.
The transition from one language to another was really good.
Didn't knew there are so many languages between C++ and asm
And he forgot FPGAs
@@antoruby yeah, I missed elixir and all the hardware description stuff here too.
There are thousands of programming languages.
Nim is such a nice language with a pretty decent history behind, sad it never went mainstream.
Yeah, it's own developer wrote a introducing book called "nim in action" which is a good source to start with. I'm looking forward to learn other cool niche languages like haskell and clojure ^ ^
@@nothing2see996 what about brainfuck lol... Best language
Liked the Raju Rastogi cameo at 2:17
Bro 😂
Didn't know Indians are here too 💀, well hi bros I hope y'all are doing well
Me too
Neuron activation💡
This video truly is god-tier. Absolutely amazing and mindblowing.
Now that I watched this I can add 8 years of transistor programming experience to my resume
The amount of energy - research you put in each video is amazing, it's always great to watch. especially love the way it's presented with combination of humor. cheers Jeff
კაი გიო არც გაატრაკო ბრტტტტ
It's so funny to me that people are always chasing the shiny new language then they get out of school and all of the job listings are looking for COBOL and Java because the old tech companies refuse to update their legacy systems. Anyway this video was a masterpiece, especially that ending. I'm always trying to tell people that meaning isn't inherent in the universe!
If you become enough of an expert with a particular programming language, it doesn't really matter what it is, there will be a demand for your skills.
@@megamaser Yep. Just saw an ad where some huge company wants to hire 10000 brainfyk programmers.
@@stnhndg whoever implemented that language probably makes a pretty good salary because the general skills that come from being an expert in programming languages are extremely valuable
@@megamaser It was a sarcasm bro ) Noone needs brainfuck programmers. You can try to learn it and then tell us about your working experience. Though we all know the results right?
@@megamaser Brainfuck was developed my Muller who now works for a large Swiss search engine which was once just a phone directory. I'm sure he is doing just fine as a computer scientist.
Yes, R is used in data science, but so is Python. There is a fair argument that Python is more scalable partly because it's a general-purpose scripting language. Some libraries take pythonic code and recompile it using C before executing it. This is particularly useful for deep learning.
I had previously dismissed Python as a sort of toy or hobby language, but it's turned out to be far more advanced than I had realized.
They both have pros and cons
Julia those is awesome if you haven’t checked it out. The biggest problem is the ecosystem and the support, both of which are growing. It’s fast af (C-tier… as in the tier of C, that’s probably the worst way to have said that)
I was expecting VHDL to be mentioned when talking about the gate/transistor level
Same.
Well, it's not a coding language. Otherwise it would have been lower level than machine code.
@@j.r.r.tolkien8724 Well, neither is HTML. Both are design languages (HTML being hypertext markup, VHDL being gate descriptions).
@@photonicpizza1466 Don't go into this rabbit hole.
why not verilog LOL
This is hilarious, thank you! I'm only 5 minutes in, the garbage collector stealing the mailbox had me LOLing. Wonderfully done! :)
I have always been mildly, passively interested in coding as a hobby, but dude, your videos have hyper-charged my interest! I'm already doing side coding projects at work, but now I want to dive head first into it. Thanks, your video style is inspiring and entertaining!
Excellent overview of many languages I had heard of, but never had the opportunity to dive into. However, I'm bummed.. you missed two of my favorite esoteric languages... Forth and PostScript (a proper superset of Forth). I spend roughly 15 years as a PostScript programmer/debugger dealing with multi-gigabyte .PS files. Great times.
You worked at Adobe? The only person I know who used postscript worked on fonts for Adobe 30 years ago.
@@a_changedworld No, never worked for them (officially), but been to San Jose numerous times and provided a great deal of customer feedback on high-volume document generation. Personally knew Adobe Ee #7 (author of The Blue Book), and the gentleman (different person), that ensured that PS LLII would actually run with out issues. Back in the days when a 'firmware update' meant traveling to the customer's site, opening up the printer, and physically swapping out the EPROMs, SIMM, or (if lucky) cartridge. He and I had a lot of really good discussion about designing testing frameworks and why solid testing for mission-critical systems can be more important and costly than the initial development. What we did was was EDPP work. Unlike most PS work (RIP once, make plates, and print), our jobs were "a million masters" - each page was unique. I still have my Red Book (LLII) handy, and copies of the Blue and Green books floating around. But, like most things from that era, lots of nostalgia, and collecting dust and cobwebs. Thanks for helping me relive some good memories.👍
So glad I began coding with HTML/CSS/JavaScript at twelve. Now I have the mental ability and fortitude to learn Chef, which has always been my ultimate goal.
Thank you for enlightening me to the paths of the esoteric revolution.
I'm thinking the same about LOLCODE
ew
@@ardongoBL ew
Ur asian aren't u
L
Do binary
This is like that meme where the mind just keeps getting more and more electrified and in the end it's just noise and fuzz and darkness. This was beautiful
As someone pretty new to programming I am so glad I found your channel. Your videos are phenomenal and enjoyable!
Run away you fool !!
@@philtoa334 I can't I'm hooked :)
Have a look at mine, from old school to extreme new and engineer… It will make you cry and make the wise choice to do something else with your skills 😄
Don't listen to the nay sayers.
Everyone will sooner than later learn to code in some form or another. At least reading it.
Just enjoy the journey like in everything else.
One thing always to remember. What you want to achieve as an end result will determine the language you use. What is not mentioned in this great video is the amount of memory you require to run the code.
Man, things are so different these days, although you have certainly hit upon a few of the key points I've watched over the years. I discovered BASIC in a geometry textbook appendix when I was in tenth grade. I whined until I got a VIC-20 and learned BASIC and 6502 ML. That was more than enough for my first programming job in the '80s.
But the next step was going to have to be either Pascal or C, both of which were supported by those amazing new IDEs Borland introduced. I physically went to a physical bookstore and purchased Turbo C. I made a living in the corporate world with C for about eight years, adding SQL and shell scripting along the way.
Then came Visual Basic for a few years I'd rather not think too hard about, then Java. That one lasted me a very long time. It was introduced to me by an IBM consultant who was excited about their new "Visual Age" IDE. Youngsters will know it as Eclipse. I knew it as a properly object oriented language with a never ending series of new libraries and techniques. EJB 1.0 anyone? None for me, thanks, my brain is full. I admit it: It took me too long to absorb functional programming because it became so easy to do so much with OOP, and I had to support pre-8 Java versions for a long time anyway.
These days I use JavaScript a lot, which is probably why I'm awake right now typing comments on RUclips at 4 AM. I work with a team that really only knows JS frameworks, so I adapt. But man, the lack of native type safety feels so weird.
The next big thing for programmers should probably be Rust. I'm learning it myself because if my portfolio collapses I'll be working for a few more decades. Besides, for a real developer, the learning is the real reward.
7:25 C still the perfect language for embedded devices. Still millions of lines of code written in C by firmware engineers for the foundation of every IoT device and microprocessor based system (basically every device we have today). So I think embedded C should be nearly at the bottom of the iceberg, because to be able to write a peripheral driver for a 32 bit uC system from only the datasheet of the given uC, the engineer has to be familiar with the assembly and machine code of the given uC.
Not to mention entire hardware architectures are designed and optimized to run C programs. Writing assembly is cool for simple 8 bit microcontrollers but once you reach higher complexity it's about C and using manufacturers drivers. Nowadays we are moving higher up towards Micropython, like for Raspberry Pico, which is fine for simple, slower undemanding stuff. For the rest you need C code.
The c in c stands for chad
@@tomiivaswort6921 chad ++;
This. I graduated in mechatronics, and as soon as memory or computing time (eg. for µC control engineering) became relevant C was a necessity.
Efficient programming will always be needed in the future.
More efficient -> less energy usage -> smaller battery required -> less mass.
I can think of many applications where this logic is still valid, and always will be.
Especially since edge computing and micro/swarm machines are upcoming trends.
there's something to it, seeing LISP so far down the iceberg while I've been programming with it daily for the past year. gotta love Autodesk
I remember when I started coding in Python I struggled real hard. Not only with the thinking process but with the fact that the language takes a lot of stuff for granted that I didn't. I started with Pascal in school and wondered that I didn't need to declare variables, had no idea what variable type I had each time - I thought in a way too complicated for the language. Still my problem.
I often say I do quantum computing because I am too stupid to understand how normal computers work. With understand I mean understand each level and layer. Modern computers are way too complex.
A good friend once told me that he sucks at coding as well. He is one of the best hackers in my home country and suffers from the same issues I do.
What I still don't get is object orientated programming though.
Note: Kotlin is not just used for Android apps, it is generally used to replace Java on the JVM, and it can also do multiplatforming. APL is not just historically important, it is used in data manipulation applications.
I've been programming proffessionally in Silicon Valley for the last 5 years, & I can say this checks out. Most everything I do has been in Python and Javascript (+HTML/CSS), and sometimes Java. After running into the limitations of OOP/dynamic types, I started exploring functional languages & approaches and other statically typed languages. One note is that my undergraduate studies actually had us explore this iceberg in a u-shape: top, lower, then back to top again.
Sir pls tell me how i can start learning programming ? I wana learn python🙌
Interesting. I'm learning programming by my own since 1995 but still I cannot figure out everything. The most important thing in programming are the concepts which no one cover. It annoy the hell out me.
You need to understand plenty of stuff how OS works so you cannot program, so with python I could start pretty much doing stuff and fetching data as example.
I also start to learn C, very easy, but no one gives intel for what the use of C is. Is it for machine only or you can do a browser with it? Is it convenient to use functional language to develop apps or is it a BIG no NO! Because I don't want to learn a whole language so in the end I discovered I made a huge mistake!
*I would appreaciate any possible answer here
@@ak.unfamous9072 I'd just google this question, people online have much better suggestions than me!
@@givdb5513 I'd just google things like "how to land a job in programming" & do what they suggest!
@@givdb5513 you haven't been learning since 1995 or you'd know those by now. Based on your questions, you haven't actually learned much of any programming. I remember after my first few weeks of learning C++ (also my first programming experience) I asked a forum "what more can I do with this? Is it useless? I don't see how it is possible to make a game with it!" It was just my lack of knowledge of programming in general, and now it is more or less intuitive on what each language is for. If you dive in and actually make a program all those questions will show their answers... just make something!
But to answer your question, you don't learn a language based on what opportunities it offers. You learn a language because what you are making requires that language. Learning 1 language allows you to learn all kinda
Everytime I think I know something well, I watch this video to humble myself.
I feel like this is the most important video on programming languages and programming itself! Thank you for sharing!
I love that this turned into an existential crisis, so relatable.
I honestly did not expect that ending, good stuff as always!
I thoroughly enjoyed this video! The amount of research that went into this is amazing. Thank you Jeff!
Great ride. When you went down to the transistor/gate level I thought you might mention hardware description languages like Verily or VHDL. It also reminded me of this quote by a computer hardware pioneer: "There are a surprising number of people who program day-by-day but don’t actually understand how a computer works. That limits you. It’s important to have a fairly good idea of what goes on at the bottom. Cutting it off at the C compiler seems to me to be quite limiting." (Charles Thacker, 2012)
The further down the the iceberg we go, the more I remember languages that I took in college and somehow ejected from mind until seeing it again in this video. Think I might end up with nightmares for a while.
And he didn't even mention Forth. Why no love for Forth?
I am still twitching a little tbh. I might have to try out that emoji language seems pretty funny to mess with.
It's just bizzare how you achieve to make such an informative video with hours of content compressed into 16 minutes. You deserve a bottle of whiskey. Every time when someone asks me what I do for a living and why I'm always under pressure. I'm going to show them this video. I think I'm going to show the team this video. It's impossible to know it all... or is it?
Well, you don't need it all.
I certainly did not expect to watch this whole thing. But it just kept going deeper and I couldn't stop.
Just seeing Dr.Racket and Simula in your thumbnail gave me a fucking PTSD episode.
In my university, the first programming language they teach us is C, followed by C++ and then moving on to assigning us projects (e.g. Artificial Intelligence, if you choose to take this subject later on) requiring knowledge of Python without actually spending time to teach us this language at that point. C is a very good beginner language because, like it was stated in the video, it's the language without which, a lot of the "big" ones in the industry now wouldn't exist.
Edit: They also teach us Assembly in the 1st year for the mandatory subject "Computer Architecture I" which as you can imagine is a pain in the ass...
I started coding an os and learned x86 but when I realised I will need to learn C too I gave up
Dude Computer Architecture made me want to code in Java Instead lol
@@zraie2455 No, it's DIT, UoA.
C is good for understanding how program actually works,and it is my first one in my university too
i majored in mathematics, and once i was too lazy to do my statistics assignment by hand, so i learned python
its a good thing that i had to code with a lot of these for my degree so that i could my job as a full time scratch programmer
checkmark that i barely even know moment.
@@generallyunimportant lets get to know each other better then. makes som bad decisions with each other. what do you say?
Here is where the coauthor of NNFS was Driven To Scratch Proramming: ruclips.net/video/eJ1HdTZAcn4/видео.html
@@Cyranek welp, apparently i can't say shit because yt's notifications are bad af.
also, i uh
already made enough bad decisions for a life time, and
i don't think i want to make any more of them.
If historic patterns have any indication, JavaScript frameworks will solve quantum computing first due to its blazingly fast nature. Nothing strikes more fear in a JS dev's heart than to hear that they are suboptimally only fiery fast, lukewarm fast, or even frigid fast.
If it doesn't say blazingly fast, i don't want to see it
Took me a few seconds to understand that it's sarcasm :)
this has always been my go to video for introducing beginners to the programming world always love this video
The first language I learned was c/c++. And I still use those languages to this day. The lowest I got in this list was asm because I was playing with sectors to make a bootloader.
I hated my assembly course in university. I respect it, but damn, I'm okay without it
Do you happen to be a member on the FASM board?
I started with machine code on the Commodore 64, moved on to making a two player game in assembler in the bootblock (1024 bytes) of a floppy disk on the Amiga. I now work in DevOps and I love it :)
The end piece about "reality" made me subscribe. This was some highly informative and excellent content.
Always wanted to try a deep level langauge and Nim became my option, all thanks to the hard work you put in for the development of this here gem.
"or maybe I never came out of the ayahuasca trip i took ten years ago"
Considering that there is Lisp, a language in the 1960s that has dynamic typing, garbage collection, a meta programming that is still unreached more than 50 years later, and a system of being compiled while at the same time being interpreted and changeable at runtime, (honestly at this point I just accept this is plain magic, no computer science involved here) I think this is really the case. There is no way this can be real.
I was a Java veteran throughout highschool. Then I went to college and our Comp Sci 101 class was in Racket (LISP-based). I wanted to end it lol.
*_Everything is a list. Everything._*
I started reading Structure and Interpretation of computer programs and it uses scheme in its examples. It did blow my brain but I get PTSD every time I look at scheme code having more than 50 lines.
@@deepakthakur8781 Racket is essentially Scheme with a new name so I feel your pain.
@@mitlanderson Yes trying to set up a scheme compiler was confusing as I was unaware of this fact.
@@deepakthakur8781 i could never figure out how to get Racket to compile outside of their proprietary IDE, (DrRacket). It just didn't want to run in the terminal. Drove me mad.
Very good job, thank you for your time and effort. The only but I would like to express is about lack of several languages in the bottom part. You didn't mentioned any of hardware languages such as vhdl, verilog or systemC. There are also some others, but those 3 are major
came looking for this comment, where be my HDLs, I have a special love-hate relationship with these lovely fuckers.
But I mean in some sort he talked about it when talking about transistors since you can look at your circuit in vivado and change it if you need to lol.
@@Schulzenberger well, yes and no:) talking about transistor is a bit far from programming languages and not even close to any of hardware oriented languages. Let's hope that our discussion won't be unseen by the author and he will at least share with us his opinion and causes
I was genuinely taken aback by the ending in the best way possible! It completely surprised me, but in a delightful and heartwarming manner.
You expanded my understanding of programming, brought back memories, and made me laugh today. Great writing!!
This was a wild trip, thanks Jeff!
Damn now I really wish I didnt bail out of that ayavaska trip 10 yrs ago 😂
I went straight from visual programming in pure data to learning c++ cause i wanted to use arduino - it's comforting to find out that it's got a steep learning curve and i'm not just slow lmao
so when i started software engineering at my university , i had absolutely 0 knowledge or understanding of coding. we started with java and i personally found it to be really solid for grasping what programming is and how it works. It's a good ground where it's not extremely overly complex, but detailed enough to engage you in the more critical thinking part of software development at a beginner level
Imo doesn't matter what they choose as long as it's object oriented.
This is art. Plain and simple. Thanks Jeff.
I love how you CANNOT, BY ANY CHANCE, skip even a second ahead in your videos!
This went from Scratch to epistemology really quick
I started programming from VBA, and now I am working with Python, Kotlin, and TypeScript, combining with Docker and many other tools and frameworks.
Programming is a huge iceberg that makes you want to dig deeper and deeper.
Feel comfortable on one, and move to another one. You will always learn something new.
The best part about VBA is that it can run DirectX code. I wrote a game engine back in 2006 in VBA. It was shit, but it ran. Not many people can say they played a first-person shooter in Excel.
10:12 Three lambdas... Half-Life 3 confirmed.
Nice!! This was an epic tour, yet concise enough to be entertaining. A true master-class of code YT content.
As a teenager I couldn’t justify the expense of getting an Assembler for my Z80 computer, so I wrote my low-level subroutines in machine code.