You Probably Shouldn't Watch This

Sdílet
Vložit

Komentáře • 1K

  • @za7304
    @za7304 Před 22 dny +2504

    I just clicked cuz I saw C

  • @jeremypewterschmidt664
    @jeremypewterschmidt664 Před 25 dny +1216

    Once the system pushed "You Probably Shouldn't Watch This", I clicked into there immediately.

    • @TheMathSorcerer
      @TheMathSorcerer  Před 25 dny +78

      LOL

    • @garymemetoo2238
      @garymemetoo2238 Před 25 dny +13

      Me too.

    • @SlinkyD
      @SlinkyD Před 24 dny +4

      Yep

    • @lucasamarantelucas4524
      @lucasamarantelucas4524 Před 24 dny +8

      Me too. But I'm studying C languague as my first language. I'm reading Fundamental algorithms from Knuth and others books about GCC and pointers. (I donnot know wtf I'm doing)

    • @simpleprogrammingcodes3834
      @simpleprogrammingcodes3834 Před 24 dny +3

      I thought because everyone knows see, so nobody should watch the video about a C book. But I was curious about what was said about this book. Because people don't agree whether it's good or not.

  • @ciscoserrano
    @ciscoserrano Před 24 dny +1478

    I actually do have some advice for people on this topic. If you want to learn programming here is a very important concept:
    Every piece of software you've ever used can be broken down into 4 simple ideas. What I call The Four Friends of Programming.
    1. Save data and use it later. (example: variables, memory allocation)
    2. Conditionally execute things. (example: if statement, switch, match, jump)
    3. Repeat yourself. (example: loops, recursion)
    4. Organize the first three things. (example: structs, functions, classes)
    Thats it. Thats every program you've ever used. The next tip, is that every programming language is someone's opinion of HOW you use those four friends. programming languages are made by people who have opinions about how to program. What makes different languages interesting is that you get see/discover new ways of using those 4 simple rules to solve problems. The people that wrote Java believed that all data should be contained in a type. The people that made Lisp believed you only need lists and recursion to compute anything. But in the end its the same four rules wrapped in an opinion of computation.
    So. If you want to learn programming, pick a language, any language. One that you think will make you money or one that you think will enable to build what you love easily. Then MASTER the four friends in that language. When you do that and move on to the next language you can peel away syntax and jargon (because those are a someones opinions of how code should look) and really peer into the big ideas of the person that designed it.

    • @ciscoserrano
      @ciscoserrano Před 24 dny +48

      P.S. @TheMathSorcerer I went through the Wizard book for the first time earlier this year and it was a mind expanding journey into computation. oh, and the MIT lectures on CZcams really made the book come alive. I definitely feel like I'm a better engineer and problem solver having gone through it. I would love to see a dedicated video to hear your thoughts on what I feel is a perfect intro to programming book.

    • @b00gi3
      @b00gi3 Před 24 dny +18

      7 likes? I feel like this is a top comment. Great insights.

    • @mike5629
      @mike5629 Před 24 dny +11

      I like the way you broke that down. I'm currently learning javaScript and i'll defiantly keep this in mind . you have link any way to reach out to you for more tips ?

    • @greenhat7618
      @greenhat7618 Před 24 dny +9

      I feel like that’s true for high level languages but the memory stuff in C or other lower level languages get really confusing

    • @lawrencejelsma8118
      @lawrencejelsma8118 Před 23 dny +2

      Numbers 1 and 2 are useful for Spreadsheets GUI programming (Microsoft Excel, Oracle and Microsoft Access database). C++ extending the C programming language or just using Microsoft's Visual Basic or full Visual Studios languages are database advanced intensive for creating "front end" accounting entries to robust analysis of created database charts and full extent programming languages tools. I remember Visual Basic 6.0 used with any SQL database language (and especially behind Microsoft Excel) doing far more for the business and data entry in business than what engineers and scientists and game developers attain with C and C++ high end programming languages done on many computer systems.

  • @christosbinos8467
    @christosbinos8467 Před 24 dny +595

    Assembly is very much taught today. I am doing a masters in cybersecurity currently and we have a course on C and Assembly. Understanding memory management for security is incredibly important.

    • @anonymes2884
      @anonymes2884 Před 24 dny +38

      It's also extremely applicable in reverse engineering malware.

    • @michaelsommers2356
      @michaelsommers2356 Před 24 dny +13

      Assembly is also a lot of fun.

    • @hrayz
      @hrayz Před 24 dny +6

      I put ASM code in my C programmes whenever I know I do it better than what the compiler would spit out.

    • @pretzelogic2689
      @pretzelogic2689 Před 23 dny +19

      Assembly should be a mandatory skill if you are interested in the field of programming. It will serve you well in so many non obvious ways.

    • @mitchellschoenbrun
      @mitchellschoenbrun Před 23 dny +2

      When you say assembly, do you mean a specific one?

  • @tomroderick8213
    @tomroderick8213 Před 24 dny +227

    I am a 77 year old retired engineer who worked with computer systems since 1971 until 2007. During that time I have lost track of how many programming languages I have learned, many just because I I wanted to. All were worth it, and all taught me what was tool I needed for a particular need. If your only tool is a hammer every problem looks like a nail.

    • @nachofroyo6493
      @nachofroyo6493 Před 17 dny +2

      wow wise words

    • @uddhavachikara
      @uddhavachikara Před 10 dny +3

      Hope you’re doing great sir.. enjoy your retirement..🤌🏻✨ & thanks for sharing your experience/wisdom with us..

    • @phlurim
      @phlurim Před 5 dny +1

      I learned FORTRAN in mid-1960s on IBM mainframe. Loved it. Am now learning Python, but my results are still somewhat primitive. I’m by no means an expert, but I don’t currently see any significant programming logic differences between these languages. Except Python’s open-source paradigm seems to require extra effort to stay constantly on top of the development of new modules, tips, and tricks. Python seems very flexible, and ever-evolving. Or so it seems. In the meantime, it’s all just a fun, learning experience for me.

    • @ULTIMARAGNAR0K
      @ULTIMARAGNAR0K Před 4 dny

      The hammer is the best tool in C because its your only tool and you need the hammer to make other tools in C

    • @stephant913
      @stephant913 Před 3 dny +1

      Cheers buddy! 74 retired here. Started in 1976 on mainframes and retired in 2021 working embedded. Started working in Assembler then Fortran and Cobol. Learned C and never quit it since. Any other language was a breeze once I mastered C.

  • @nedmerrill5705
    @nedmerrill5705 Před 25 dny +322

    C is fundamental. Many other languages have borrowed the syntax developed for C.

    • @MrPilotStunts
      @MrPilotStunts Před 24 dny +24

      In Lisp we trust

    • @nedmerrill5705
      @nedmerrill5705 Před 24 dny +5

      @@MrPilotStunts I write a lot of emacs extensions...👍

    • @tabooelf
      @tabooelf Před 23 dny +14

      Even if not borrowed most of them ultimately link to C libraries.

    • @HansBezemer
      @HansBezemer Před 23 dny +20

      You can write everything in C. If you can't write it in C, it's not worth writing.

    • @nedmerrill5705
      @nedmerrill5705 Před 23 dny +3

      @@HansBezemer Sure. You can write the compilers and interpreters for those other languages in C.

  • @pdfads
    @pdfads Před 25 dny +273

    I'm retired now, but I did big-model scientific and engineering computing from 1973 (GE635), through multiple generations of the biggest computers on Earth: CDC, then various Cray models, to giant multiprocessor systems from SG and IBM by mid 2010s. It was pretty much all Fortran, for everybody, although I did some C (which was unusual). Most of the models are still running. I might add that the world's economies still run on COBOL (Sometimes the original source code has been lost!). COBOL joke: A programmer who was dying of cancer had himself frozen. Years later, he wakes up and says, "You found a cure?" The people say, "Unfortunately no, but it's 9999, and you know COBOL."

    • @vcv6560
      @vcv6560 Před 24 dny +22

      I have a friend who's been writing in Cobol for almost forty years, You are right the systems are still running and nobody is being taught to maintain them. Old enough to retire but the job is still waiting for, and paying him

    • @ArthurvanH0udt
      @ArthurvanH0udt Před 24 dny +11

      your are forgetting RPG kinda the predecessor of COBOL wrt the program engine cycle. RPG was even more connected to the machine code than COBOL, but both had the "auto" input cycle of the primary file thet was being processed. Two more reasons people don't do RPG/COBOL anymore IMHO:
      1) not sexy
      2) for a long time pay was (way) less than pay for newer language programmers. So the move/push forward was kinda "natural".

    • @charlesbaldo
      @charlesbaldo Před 24 dny +13

      I have spent the last 20 years modernizing some of the exact stuff I myself wrote on system36 and AS400 in COBOL and RPG in the early 80's to C# and Visual Basic. It started during Y2K

    • @michaelsommers2356
      @michaelsommers2356 Před 24 dny +16

      As the old joke went, I don't know what scientific programming language will be used in thirty years, but I know i will be called FORTRAN.

    • @segueoyuri
      @segueoyuri Před 20 dny

      @@michaelsommers2356 a joke almost as old as FORTRAN itself lol but to be fair, at least here in my uni a lot of scientific programming is actually done in C/C++. As I can gather, most is. Only older engineering systems are still in FORTRAN. The thing about science is there's always people doing sth new and they not necessarily will care or use that old language.
      And Python is being used by scientists/people from all the other fields that weren't taught to program in their areas but for some reason need to program and can't learn stuff properly. So there's some programming done in python that is scientific but doesn't qualify as scientific programming, strictly

  • @guidichris
    @guidichris Před 25 dny +323

    I took programming as a senior in high school 1977-1978. We had a teletype, an acoustic modem, and learned basic using a Wang 3300. The computer died in late February 1978. Learned Fortran in 1978 as I was studying Electrical Engineering. Learned Pascal. Learned assembly for 8085 as part of microprocessor system design. Like math, I learned various languages over the years. Right now I'm learning Rust. Never stop learning.

    • @dreed7312
      @dreed7312 Před 25 dny +12

      We have a very similar background

    • @technobubba4
      @technobubba4 Před 24 dny +6

      What for ? Now we go AI !!

    • @rogerforsman5064
      @rogerforsman5064 Před 24 dny +24

      ​@@technobubba4Good luck to get AI to optimize your unique embedded system program!

    • @freemasry-gr8hw
      @freemasry-gr8hw Před 24 dny +11

      @@technobubba4 AI ha ? let me tell u something I had to do a frontend for a college project, I know nothing about frontend I managed to do it with chatgpt but it was hell because I didn't know javascript, css and I have no time to learn them its not my thing bassiclly u need to know ur shit to even know how to describe the problem properly to this AI thing. I am talking about the basic thing and ofc u won't let an AI program a space craft

    • @mfaracing
      @mfaracing Před 24 dny +3

      @@rogerforsman5064 Think 5-10 years from now. AI is just born in the industrial world.

  • @lorensims4846
    @lorensims4846 Před 25 dny +236

    But don't start with that first edition of The C Programming Language. The 2nd edition covers the ANSI version of C, from 1989. The programming language (actually most programming languages) is/are regularly updated.

    • @xskinyx
      @xskinyx Před 25 dny +19

      2nd edition is where it's at!

    • @douglasstrother6584
      @douglasstrother6584 Před 24 dny +5

      "A Book on C: Programming in C" by Al Kelley & Ira Pohl is another good one.

    • @michaelsommers2356
      @michaelsommers2356 Před 24 dny +7

      Let me second that. The first edition uses several features, and didn't use others that hadn't been invented yet but were later essential, that were obsolete by the late eighties. You may even have to use special flags to get the compiler to accept them.

    • @hrayz
      @hrayz Před 24 dny +11

      In College I took the C Programming class. I would "amuse" my teacher by writing each assignment in a different "version" of C.
      K&R C, ANSI C, Turbo C, etc.
      Each with the small differences perfectly compliant to the version.

    • @michaelmicek
      @michaelmicek Před 24 dny +1

      +

  • @kayleeson509
    @kayleeson509 Před 23 dny +127

    Anyone coming in and saying "which language should I learn?" and talking about them as if you only learn one... That person has never worked in industry.
    Anyone coming in and saying "just learn javascript, you'll never need anything else" or similar... they have limited work experience. One or two well paying employers.
    Anyone who's worked in the industry for 10-20 years, anyone who's worked on legacy systems (banking, civil service, medical, etc)... you work in whatever language is infront of you, without proper training, and you learn something from each of them. There's a lot of money to be made from reverse engineering and maintaining old systems, and there's a lot of fun to be had in applying old concepts to new environments.

    • @kingki1953
      @kingki1953 Před 21 dnem +1

      Wow, thanks for sharing something that never taught by anyone

    • @kingki1953
      @kingki1953 Před 21 dnem +1

      It's new for me, but how do exactly you can create money from reverse engineering? Did someone paid you to break other's code?

    • @kayleeson509
      @kayleeson509 Před 21 dnem

      @@kingki1953 The guy who wrote the code retired. Five years later, they hired me to figure out how the code worked so the system could be upgraded. Happens frequently with systems that keep a business running where the business doesn't consider itself a coding shop - hospitals, airports, etc.

    • @doxanthropos
      @doxanthropos Před 19 dny +11

      @@kingki1953 Sometimes reverse engineering is necessary to maintain and update legacy systems. You would be surprised how common it is to have a system, where one exe that someone, who left the organization, programmed and compiled one or two decade ago is necessary for a critical business process. When you want to change or update that process, you will first need to understand that exe, often without the source code.

    • @beentheredonethatunfortunately
      @beentheredonethatunfortunately Před 18 dny +4

      Programming is logical thinking and learning syntax. Everything else is a library call. :)

  • @xskinyx
    @xskinyx Před 25 dny +85

    The C Programming Language. Best programming book ever. You really have to read it to understand why. The pacing is perfect and there is no extraneous or repeated information. I love the description of the declarator syntax. It's really a work of art!

    • @michaelmicek
      @michaelmicek Před 24 dny +4

      But don't use the 1st edition there.

    • @xskinyx
      @xskinyx Před 23 dny +4

      @@michaelmicek The first edition is special because it was the textbook but also served as the language spec. To actually learn the language, 2nd edition is what you want, which is the '89 ANSI spec. Of course there are more modern versions of C that have great new features, but they aren't so crucial to learn since C and C++ diverged in '99, and most people use C as a complement to C++

    • @jboy55
      @jboy55 Před 13 dny +3

      A grey beard at my first company I worked at out of school, back in the late 90s, said to me. "The K&R book is the greatest book written in the English language". He went on to describe how a complete understanding of complex concepts is in a thin book that can be understood by beginners. I read it, and was able to start writing soon after.

  • @michaelglidewell1524
    @michaelglidewell1524 Před 25 dny +166

    If you're going to learn one programming language, C (and I don't mean C++) would be the language to learn. Mainly because it will teach you to think about what the CPU is really doing. Then learn C++ and/or Python after that. Self-taught C/C++, Fortran, Python, Java, Linux/Unix shell script, etc. Used almost all of them professionally over my career. Last time I wrote Fortran code was probably 15 years ago. Last time I saw and/or ran Fortran code was yesterday. That's how prevalent it still is.

    • @TheMathSorcerer
      @TheMathSorcerer  Před 25 dny +9

      Awesome!!! Thank you for this comment!

    • @MartynDavies
      @MartynDavies Před 24 dny +8

      I learned C in university and have used it in every job in my career. That skill has paid back a hundred times.

    • @vitalyl1327
      @vitalyl1327 Před 24 dny +11

      It was true until around mid-80s. Since then, C was very detached from how the hardware actually worked. Just another high level language abstracting all the hardware fun away.

    • @jm.101
      @jm.101 Před 24 dny +9

      I first learned Ruby and JavaScript, then C, then Java. Primary benefit of learning C is understanding pointers. I don’t really think the order you learn programming languages matters. Like you said, learn what you wanna learn.

    • @michaelmicek
      @michaelmicek Před 24 dny +2

      ​@@vitalyl1327I didn't dig into the details but in the 90s I was told that gcc's optimization involved converting the C code into a form of Lisp, optimizing that, and then compiling the result.
      About right?

  • @geert5811
    @geert5811 Před 23 dny +29

    I was a cobol programmer back in the eighties of the previous century. When I lay hand on the Brian Kernighan and Dennis Ritchie "C Programming Language" I was blown away! From there I went to unix and from there to linux. Now I'm retired, and dumped all of my IT books except the Brian Kernighan and Dennis Ritchie "C Programming Language" ...
    g.

    • @burkec33
      @burkec33 Před 21 dnem +1

      Yeah, still wish I kept my copy of that from years ago.

    • @alexanderpoplawski577
      @alexanderpoplawski577 Před 13 dny

      Yes, still have it. First edition, that came with the IBM PC.

    • @flynnoflenniken7402
      @flynnoflenniken7402 Před dnem

      Last company I worked for still uses cobol today. It's just lots of legacy stuff that's too costly for too little gain to bother rebuilding.

  • @DunkSouth
    @DunkSouth Před 24 dny +30

    I love FORTRAN!
    I am a physics grad student, and all our highest-performance codes are in F90/F95. I was so surprised when learning it by how simple and readable the syntax is.

    • @gabrielepicco3582
      @gabrielepicco3582 Před 20 dny +4

      Same, currently updating to version 2023 of the language:) and the guys of the fortran discourse are doing an incredible job at delivering new, more up to date tools for the language

    • @ajarivas72
      @ajarivas72 Před 20 dny

      @@gabrielepicco3582
      What compiler are you using?

    • @henrikholst7490
      @henrikholst7490 Před 4 dny

      @@gabrielepicco3582 too bad I think the Syntax and look of modern Fortran is worse than it was. There is not much else than Fortran that has a nice syntax for array computations. Matlab and Python has a nice syntax but they are not compiled so lacks in overall performance.

    • @gabrielepicco3582
      @gabrielepicco3582 Před 3 dny

      @henrikholst7490 syntax has mostly not changed at all, fortran is typically fully retrocompatible. The only big changes are the new features, but you can still choose to stick to the old ones and their syntax is the very same

  • @azimuth4850
    @azimuth4850 Před 25 dny +78

    C is still very much in use. On the forums I see a lot of people at universities (and companies) writing their own libraries in C, just so they can make some algorithm run faster. Hardware is expensive, why buy more Nvidia GPU's when you can hire a C programmer to make it go 50% faster.

    • @hrayz
      @hrayz Před 24 dny +3

      Back in the CGA and 8086/8 - 80286 days, I wrote my own graphics code in ASM (to insert in my C programmes) because my routines for basic points, lines, boxes, circles, etc. were over x200 faster than the included ones.

    • @azimuth4850
      @azimuth4850 Před 24 dny

      @@hrayz 200x!! Very nice! I am still learning C myself, ASM is still a distant goal. For now I limp by with C++....it gets the job done.

    • @evancourtney7746
      @evancourtney7746 Před 24 dny +5

      Shoot, 50% faster they can keep. Get the guy who turns your On^2 algorithm into an O nLog n one, that will save you some real hardware money.

    • @MadocComadrin
      @MadocComadrin Před 22 dny

      @@evancourtney7746 A lot of that has already been done, but you ultimately need both. Even something well studied like the various FFTs can be improved significantly by cutting down constant factors, playing nice with the hardware, etc.

    • @dubhd4r4
      @dubhd4r4 Před 20 dny +5

      For NVIDIA GPUs CUDA is written in a C like (well C++) language. Now you can use Pytorch on top, or one of the higher level languages, but C will never go out of style, just link punk rock.

  • @zatornagirroc7175
    @zatornagirroc7175 Před 5 dny +4

    One of the best classes I took when getting my associates degree in computer programming was a programming fundamentals class taught by one of the most intelligent people I have ever known (thanks, Paul, if you are still out there). We talked about the building blocks of structured code, flowcharting, single exit and entry points, if logic, different loops, algorithm design. And never once touched a programming language.

  • @prism223
    @prism223 Před 24 dny +16

    My 2 cents:
    1. Programming is learned best when you have a fun problem to solve. For me, I was interested in math and physics, and I wanted to see solutions to problems that I couldn't solve by hand, but I had read that computers could solve those problems.
    2. Start with whatever you have or can get access to easily. For me, it was a graphing calculator that had a BASIC dialect.
    3. Follow your curiosity. Don't worry about what is popular, what other people say is the best path, at least not at first, unless you are also interested in what they say. The reason I say this is that your learning is like a fire. In the beginning, the fire is just a spark and easily goes out. You have to carefully place the ember in the right material and give it air so that it can grow strong enough to burn larger pieces of fuel. If you follow boring advice that is helpful in the long run, then you will probably quit in the short run. So, it's better to chase the interest until you gain the confidence to try the boring-but-useful path. This might be e.g. implementing your own bad physics engine instead of loading someone else's great physics engine. You will not get as much done in terms of practical output, but you will get much more in terms of learning and investment in the field.

    • @DannyMexen9
      @DannyMexen9 Před 8 dny +1

      I have to agree.
      The only reason I would learn a programming language for its own sake is have a consistent income stream that allows it.

    • @vonbayernDE
      @vonbayernDE Před 5 dny +1

      I use this approach. Help me to stay interested. I did django web tutorial. My brain will explode if i follow basic tutorial like loop, array etc.i would learn c, let say for controlling LED to make it iteresting.

  • @Redman8086
    @Redman8086 Před 20 dny +39

    C is God's programming language.

    • @travis8106
      @travis8106 Před 7 dny +6

      I have been dabbling with programming for years on and off. I finally decided to take it seriously, and I am learning C.
      Learning C has given me a deeper appreciation for programming and computer science in general.
      I am finding myself falling in love with the language. The understanding it gave me for how computer hardware and programming works is absolutely priceless.

    • @ZaCaptain1229
      @ZaCaptain1229 Před 7 dny +10

      Actually Holy C is God's Language

    • @Redman8086
      @Redman8086 Před 7 dny +5

      @@travis8106 I program as a hobbyist and I don't enjoy any language as much as I enjoy C. You really feel like you're in control of everything. I like that the language doesn't do anything in the background that I don't tell it to do and has very few gotchas due to it's simplicity.

    • @nevokrien95
      @nevokrien95 Před 5 dny

      Specifcly c99

    • @nevokrien95
      @nevokrien95 Před 5 dny +2

      ​@Redman8086 c has so many gotcha because of ub.... also weird memory bugs. Also macros.
      I still love it but it's one of the most gotcha langugess out there

  • @charg1nmalaz0r51
    @charg1nmalaz0r51 Před 23 dny +73

    Its usually best to ignore people that are dogmatic and try to convince you to learn a certain thing. The amount of coding gatekeepers in programming is beyond tiresome.

    • @paradoxicalcat7173
      @paradoxicalcat7173 Před 7 dny +1

      I use multiple languages (C, C++, C#, Java, Assembler) and I'm currently being rail-roaded into doing things a certain way "because C++ language feature". I don't need half that crap as I can use the primitives they are derived from without any problems. It really annoys the hell out of me when someone becomes obsessed with language features (ESPECIALLY in C++). I just look at them and ask how we ever wrote software before 1999.

  • @Antonio_Gallego
    @Antonio_Gallego Před 24 dny +9

    The paragraph you were looking for is section 1,1 Getting Started "The only way to learn a new programming language is by writing programs in it. The first program to write is the same for all languages: print the words 'hello, world'
    This is a big hurdle; to leap over it you have to be able to create the program text somewhere, compile it successfully, load it, run it, and find out where your output went. With these mechanical details mastered, everything else is comparatively easy."

  • @FPChris
    @FPChris Před 22 dny +10

    C is still a great language.

  • @srazash
    @srazash Před 18 dny +8

    You were right about the quote, it is from TCPL - I know because I'm currently reading the 2nd edition!
    "The only way to learn a new programming language is by writing
    programs in it. The first program to write is the same for all languages:
    Print the words
    hello, world
    This is the big hurdle; to leap over it you have to be able to create the program
    text somewhere, compile it successfully, load it, run it, and find out where your
    output went. With these mechanical details mastered, everything else is com-
    paratively easy."
    That's on pages 5-6, chapter 1 of the 2nd edition.

  • @dahrayyem2648
    @dahrayyem2648 Před 12 dny +4

    My first programming language was Basic. But once i learned C every other language was easier.

  • @Gurblash
    @Gurblash Před 25 dny +30

    I remember being 13 years old. Playing on a club soccer team, at the time my coach, Scott, was attending community college. We had been talking about my interests and had mentioned that I was learning Flash AS and HTML at the time. I had some basic BASIC experience. The next week he brought me his Pascal book he had just finished using for school.
    I never did anything with the Pascal language but I firmly believe that his little act of showing interest in what I was doing helped spur and continue my love for computers and programming languages.

    • @mfaracing
      @mfaracing Před 24 dny +2

      It was very good to read your story. Thank you for sharing it.

    • @ksb2112
      @ksb2112 Před 19 dny +3

      Ah, Flash AS. Those were the days. 🙂

    • @gorak9000
      @gorak9000 Před 17 dny +3

      Pascal was actually the very first language I learned. Back in grade 9, taking the grade 11 programming course. The following year in the grade 12 course, we learned C++. I've never used Pascal for anything since, but it will always have a soft spot with me as my introduction to coding.

  • @LarryButler
    @LarryButler Před 25 dny +46

    And so I'm watching this...just because..

  • @DaveJohnsonUTU
    @DaveJohnsonUTU Před 25 dny +16

    I learned C from Kernighan and Ritchie (first edition) in 1982. I was programming in assembly (M68000) at the time and so I didn't really have a need to learn C at that moment. But people were saying that C was the up and coming language, and that it was similar in many ways to the M68000 assembly language. I didn't have a CS degree (mine was physics), so I had very little background in high level languages. But I wanted to learn everything I could about computers and programming. Anyway, the book was great, and I still have my old tattered copy. Thanks for your rant. It resonated with me.

    • @watkins1robert
      @watkins1robert Před 18 dny

      I carried the K&R book and began to study the nuance - what was required and what wasn't explicitly stated. I examined the generated code from various compilers I had access to to learn which routes they took in ambiguous situations, like order of argument evaluation. There was something magic about the high level language and the resulting machine code that was still understandable on a large scale.

  • @OleJoe
    @OleJoe Před 25 dny +18

    Fortran is especially suited for mathematics. It was originally FORTRAN, which stood for "Formula Translation."
    I learned Fortran and Pascal in college. At the time Pascal was a big, big deal. They were even teaching it in high school.
    I kind of picked up C on my own.
    The coolest and maybe the hardest language I learned was "Plain TeX" by Donald Knuth. TeX is the ultimate markup
    language for writing math papers. You get ultimate control over everything.
    Needless to say some of my fellow teachers were not impressed by my class notes and tests, etc. I was accused of
    photocopying from some book, they were that good.
    Like I said, it's pretty hard to learn, but they do have frontend packages for TeX like LaTeX which does make it easier.
    I had several notebooks with examples on how to do stuff and would constantly refer back to them.

    • @2meters2
      @2meters2 Před 19 dny +2

      You brought back great memories. Wrote my thesis and several scientific papers in LaTex, in the time that papers were really made of paper.

  • @ercntreras
    @ercntreras Před 25 dny +13

    Yeah, we shouldn't stop learning the things that draw our attention and curiosity just because we should learn that things that only pay the bills.

  • @fanshaw
    @fanshaw Před 10 dny +5

    I saw the C book I learnt from. I clicked.

  • @edwardnilges1675
    @edwardnilges1675 Před 25 dny +5

    Basic as a junior in high school around 1984, Fortran in first year at college, followed by Pascal. Picked up the K&R book on C after college and have wanted to learn C since but have yet to get through it. Agree on appreciating the languages for what they are. My sister who is not too much older was programming with punch cards in college. I got to dial in with my college friend's Kaypro 10 and an analog modem to do my Fortran homework from my dorm room. Kids these days have it easy!

  • @2meters2
    @2meters2 Před 19 dny +5

    So cool you have Kernighan and Ritchie there. 40 years ago I learned C from that book and C++ shortly after and still using this today.
    In my opinion C and C++ are THE most fundamental programming languages around. Every other language (including Python) is based on the principles of functional programming (C) and object oriented programming (C++), so after you learned C/C++, everything else is easy to understand.
    Everything else is also (often much) slower than C/C++, since most languages they took pointers away, which are in my opinion the most power computer science construct ever invented.

  • @mlliarm
    @mlliarm Před 25 dny +4

    Programming is a great skill for any mathematician.
    Not only for calculating stuff, or typesetting text (LaTeX) but also for proving theorems (Coq, Isabelle, Lean, Agda, etc).
    Ps: I found Steve Summit's website on C around 2003. It's still active, with solid notes on the K&R book. Thanks Steve !

  • @stonechen4820
    @stonechen4820 Před 24 dny +8

    FORTRAN is still being updated! It's heavily used in scientific compute, particularly climate and environmental stuff.
    Also for fun you can check out some of the C "successor" languages who are try to be C but better (unlike say Rust which is going for a different thing completely).
    ZIg, Odin, Jai

  • @CyrillKR
    @CyrillKR Před 24 dny +5

    I got the second edition of the C programming language book just because of curiosity. I don't need C for a job or for any college assignment (I learn on my own leisure). I used JS and Python at work and I was very curious about computer science in general so I approached C entirely for educational purposes and it's been fascinating to work with it.

  • @tineocedric
    @tineocedric Před 20 dny +1

    Very good points. Thanks! After a career in IT - i decided to get back to the basics. Too much emphasis is put on what is needed on the job or for projects and it results in entire generations of developers that know a certain slice, but don't have the fundamentals. For me it clarifies and puts in the right place so many pieces of the puzzle to finally educate myself in C, assembly, the foundation of what current software is build upon, instead of just knowing how to use an api and having no idea what magic (or hell) lies underneath.

  • @tomsawyer3947
    @tomsawyer3947 Před 16 dny +2

    I'm an old Dinosaur who started with C back in the early 90s. Then C++. I've recently been forced to learn C#. And now PHP. It amazes me how C-like PHP is. I'll NEVER regret being a C programmer! Everybody should start there! (imho)

  • @juggernautknight2749
    @juggernautknight2749 Před 25 dny +26

    Too bad, I'm into that stuff Mr. Sorcerer

  • @SergeyB1995
    @SergeyB1995 Před 25 dny +7

    There is a programming book, written quite recently (second edition arrived around 2020). There are 3 volumes to it. The author (a Moscow State University professor and a programmer himself) set out the goal to give students the opportunity to learn programming the way it should be learned (in author's opinion).
    It starts by teaching some Linux basics, then goes on to teach basics of procedural programming in Pascal.
    Then it dives into Assembly to give an understanding of low-level programming.
    Second volume focuses on teaching basics of C as a low-level programming language, at the same time explaining how operating systems work.
    The third volume focuses on programming paradigms. Some object-oriented programming on example of C++ is taught, there is some functional programming as well.
    The e-book is available for free, some printed copies were sold as well, but none seem to be available right now.
    Quite a gem for self-study.
    Available in russian only, unfortunately.
    (It is quite difficult to find a person proficient enough and willing to translate a whole book I guess).

    • @ianalen1687
      @ianalen1687 Před 24 dny +3

      On March 1, 2021, author-programmer Andrei Viktorovich Stolyarov made the second edition of the book “Programming: An Introduction to the Profession” available for free access. The three-volume book can be downloaded for free in pdf format

    • @AndreySobolev
      @AndreySobolev Před 24 dny

      Can you name it, please?

    • @petredraghici8705
      @petredraghici8705 Před 24 dny

      @@ianalen1687 Is there an English version?

    • @petredraghici8705
      @petredraghici8705 Před 17 dny

      To bad is in Russian only and the pdf file is locked so you cant use google translate to read it.

  • @Yup712
    @Yup712 Před 10 dny

    Just wanted to say thank you again for the amazing channel! I majored in Social Sciences in Undergrad & did well, but miss Math! So I’ve been going back and taking Math classes & studying to learn the higher levels of Mathematics, not for a specific need so much, but a desire to understand better.

  • @STEAMerBear
    @STEAMerBear Před 24 dny +2

    You and I are the only two left--I don' t know anyone else who still has a copy of Kernighan & Ritchie! It was my first C textbook (at Foothiil College, Los Altos, CA) in or around 1987-88. We were programing on mini-computers running UNIX and shell scriptin was a huge part of the class as well. I bought a copy of Borland C for that class (to match my Borland Pascal). I later I went on to teach C & Pascal at a private high school in Fayetteville, NC in 1991-93 and often referenced to K&R.

  • @kenkenken7789
    @kenkenken7789 Před 25 dny +22

    Hello there from vietnam, ho chi minh city, it’s 7:55AM in the morning here and i am watching :”> I just want to reteach myself on math as 31 for the sake of learning and i can starting to see the beauty of math in every daily things argggg and found your channel

    • @duongquanghoai217
      @duongquanghoai217 Před 25 dny +4

      hey, good to see a fellow Vietnamese here, I'm also 31 and want to relearn math as well. What a coincidence

    • @ccriztoff
      @ccriztoff Před 24 dny +3

      You two should meet up

    • @mfaracing
      @mfaracing Před 24 dny

      Do it! You can't go wrong.

    • @novakandfaith123
      @novakandfaith123 Před 24 dny

      I was average at Math at school, didn't give much thought back then, Math drifted into the past behind me. Nowadays I love Maths bro, good choice!

    • @Ai_Boss_
      @Ai_Boss_ Před 24 dny

      Same here mate. My kid self was a idiot for rejecting math, and I'm now trying to correct this.

  • @oscaralexander6594
    @oscaralexander6594 Před 25 dny +3

    I really like programming. I learned basic in a casio fx750p back in 1985 and then in the 90's visual basic and amos on the Commodore amiga

  • @clownhands
    @clownhands Před 24 dny +1

    I worked on a very popular enterprise storage system written entirely in C, except for a couple of critical loops in assembly. It was a joy to build and even support. Miss the old days.

  • @EduardoEscarez
    @EduardoEscarez Před 23 dny

    As a newish programmer (JavaScript/TypeScript - Python - SQL) I agree with the video and its spirit. Learning different programming languages (and just continuous learning) is a superpower because it gives you the ability to understand both why languages are commonly targeted to specific areas, and to see the shared structures and patters across programming.
    I'm interested in learning systems languages like C, mostly because it gives you a view of view of how software works under the hood and fill some gaps in my knowledge, even if probably I wouldn't program a lot with that language.
    Also, that video title was enough to want to see it and become a new subscriber 😅

  • @warrenmadden2586
    @warrenmadden2586 Před 25 dny +13

    I'm feeling old - I took the class the Wizard Book is named after, with Sussman and Abelson as the instructors, back in the spring of 1982 at MIT. Except, way back then, the book was lecture notes printed out on 8.5x11 paper. I enjoyed it so much I became a student TA for them the next several semesters. Gotta love a programming book that mixes computer puns into its lessons! :-)

    • @michaelsommers2356
      @michaelsommers2356 Před 24 dny +3

      The lectures from one instance of the course are on CZcams.

    • @xravenx24fe
      @xravenx24fe Před 24 dny +1

      ​@michaelsommers2356 Yeah those lectures are great in particular the ones in the middle that explain recursion and higher order functions

    • @MadocComadrin
      @MadocComadrin Před 19 dny +1

      Despite going through SICP a couple of times for learning, TAing, and teaching, I don't think I've every actually seen the cover art until your comment made me look it up. XD

  • @thomasstambaugh5181
    @thomasstambaugh5181 Před 24 dny +5

    FWIW, the "Wizard Book" is "Structure and Interpretation of Computer Programs". It uses Lisp throughout because Lisp had arguably the simplest syntax of any computer language of its day, and the Wizard Book is a deep dive into a VERY deep subject.

    • @pschneider1968
      @pschneider1968 Před 6 hodinami

      It uses Scheme, not Lisp.

    • @thomasstambaugh5181
      @thomasstambaugh5181 Před 54 minutami

      @@pschneider1968 Scheme is a Lisp variant. SICP does indeed use Scheme throughout -- and it therefore uses Lisp throughout. Importantly -- this choice was made in no small part because both Scheme and Lisp have minimal syntactic complexity.

  • @l3martin
    @l3martin Před 17 dny +1

    You are 100% right - learning should be fun, it should be because you want to do it.
    And you should set aside enough to learn it properly - not just a short amount of time so that you can rush through it.

  • @jackswitzer5569
    @jackswitzer5569 Před 24 dny +1

    Just learnt Assembly as a second year in math and computer engineering so don’t worry it’s still around! It was very useful, I don’t think I understood pointers or any memory management that was in C until there was that fundamental level of understanding that came from learning assembly

  • @davidc4322
    @davidc4322 Před 24 dny +4

    As a CS and math double major, I love Python more than any language. The turnaround time from thought into code seems substantially less than most other languages due to its minimal syntax. And with the recent advancements in machine learning, I love being able to easily connect advanced math concepts and CS with the robust ML tools available for Python. 🐍

    • @isaak3680
      @isaak3680 Před 16 dny

      Python’s robust ecosystem of libraries is what makes it my favorite. I’ve found that no matter what project I want to do, there’s likely a library out there that makes it 10 times easier

  • @davidboettcher1900
    @davidboettcher1900 Před 24 dny +4

    Old languages are like old cars. The newer ones are better, but also more complicated. People like old cars for nostalgia, but also because they are easier to understand. Understanding an old car gives an insight into a newer one that, at first sight, is impenetrable. And who doesn't like a bit of nostalgia. The book by Kernighan and Ritchie is beautifully written and warrants a place on the bookshelf of anyone interested in technology, even if they never write any code. This was a great episode, thanks.

    • @Danieljordan2
      @Danieljordan2 Před 8 dny +1

      100% agreed. I graduated from CS 25 years ago, and C and Java were the main used languages. I’m now learning Python and is quite difficult for me. Is like my brain isn’t wired for higher languages.

  • @Squish888
    @Squish888 Před 25 dny +2

    Assembly is kicking around. Had to learn some RISC-V for a systems course some years ago.

    • @funicon3689
      @funicon3689 Před 22 dny +3

      assembly is critical for debugging regardless of where you work on the stack

  • @estevaoyt
    @estevaoyt Před 22 dny +2

    What a BEAUTIFUL C book, a classical, I had to buy one after this video! Loved the video content also, totally agree!

  • @JavaScripting64
    @JavaScripting64 Před 24 dny +12

    I shouldn't have watched this

  • @bitmaxim
    @bitmaxim Před 25 dny +13

    Since you asked, Bjarne Stroustrup is pronounced "bee-yarn-eh strow-strup" . How do I know? I've talked to him several times (used to work where he worked).

    • @whickervision742
      @whickervision742 Před 24 dny +2

      Pronounce BS any way you want. In C++ you can override any built-in keywords or operators to mean anything else😢 Whereas + in math is fundamental and universal, + in C++ could be made to mean literally any operation, or something that takes infinite time, or nothing at all.

    • @edwarddurkin6635
      @edwarddurkin6635 Před 24 dny +1

      I never liked idea of overloading operators.

    • @stighemmer
      @stighemmer Před 22 dny +1

      If you talk to the right mathematicians they will use + to mean all sorts of wierd things.

    • @atijohn8135
      @atijohn8135 Před 5 dny

      ​@@whickervision742 bruh, you use the same + for scalar, vector and matrix addition, any C++ linear algebra library will have those operations defined with the operator+(), meanwhile in C you'd have those operations as functions going by names like mat3x2f32_add()
      not saying that the C way of doing it is bad, but saying that it's exactly like you write it in maths is absurd

  • @paulvmunix
    @paulvmunix Před 25 dny +1

    The beloved K&R. There have been songs/poems written about this book. Also, prior to the first iterations of ANSI-C. there was K&R C with it's own idiosyncracies :) I love your channel!

    • @argonwheatbelly637
      @argonwheatbelly637 Před 25 dny +1

      main()
      int argc;
      char *argv[];
      { ... }
      vs.
      main(int ac, char **av) { ... }

  • @thejontao
    @thejontao Před 5 dny

    I worked for a train company, and their backend system for train management was running on an IBM mainframe. We didn’t do a ton of COBOL, but we still used some.
    They’re still running that mainframe.

  • @joannloos17
    @joannloos17 Před 25 dny +3

    K&R 1st edition didn’t allow you to pass pointers as parameters. This was the major change between different versions. But, if you know one programming language you can basically learn any of them.

    • @NullHand
      @NullHand Před 24 dny

      I think most programmers arrive at this wisdom somewhere on or about the third "language" they learn.
      I like to say programming "languages" are more like dialects of the same language.
      The real differences are just in the 'slang' and 'etiquette' of re-using OPC (Other People's Code).

    • @michaelsommers2356
      @michaelsommers2356 Před 24 dny +7

      _"1st edition didn’t allow you to pass pointers as parameters."_
      What!? You certainly could pass pointers around. Every program started with
      int main(argc, argv)
      int argc;
      char *argv[]; ...
      What you didn't have was references, but they are just syntactic sugar.

    • @joannloos17
      @joannloos17 Před 24 dny

      @@michaelsommers2356 my bad. It was 20+ years ago…..

  • @AwosAtis
    @AwosAtis Před 21 dnem

    That sure brings back memories. I learned BASIC on a Commodore VIC-20. I learned 6502 Assembly on a C-64 when the screen dump I wrote in basic took hours to print. Then life intervened for the next 40 years. I often look at the various languages that come out over time and I think I might be ready to learn some more to re-experience the delight I used to get when I finally figured out what line was locking up my computer and I could fix it!

  • @profamitgupta
    @profamitgupta Před 21 dnem +2

    I am a faculty now for about 13 years and do most of my research by developing my own solvers. I have been coding for about 27 years (started out in high school). I have learnt C++, Fortran and C. There is no greater joy that i derive than formulating a problem in the form of a code and experiencing it work.

  • @KAZVorpal
    @KAZVorpal Před 14 dny +3

    Weird, I read that exact C programming language book maybe 40 years ago. Now I'm wondering where my copy ever went

  • @OrdenJust
    @OrdenJust Před 25 dny +15

    Oooh....I remember getting frustrated trying to self-teach out of K&R and getting stuck on one of the first exercises.
    Finally got it. And learned to pay closer attention when reading! (My bug was failing to distinguish = from ==).

  • @christopher1989ish
    @christopher1989ish Před 20 dny +1

    I'm approaching python and coding at hobby level. I just took stock of the things I had and thot what can be done or taught free of charge. Running ubuntu on a laptop so I've been learning that too. It's amazing what you'll push to get working on an os that doesn't easily run games natively lol

  • @xlerb2286
    @xlerb2286 Před 24 dny +1

    For Bjorn, the "j" has a "y" sound, and if you can get a little Scandinavian swing in your voice for the "o" that'll help too ;) I've still got that C programming language book on my shelf. Was a great book in the early 80's. Other than historical value I wouldn't recommend it today though. Way better resources online for free. Languages I know? Well, I haven't done anything with some of them in years but in rough order of how long ago I learned them, various assembly languages, FORTH (boy that brings back memories), C, Pascal, C++, Perl, Python, Java, C#. I've mainly worked as a Windows developer or as a developer writing enterprise software on the Microsoft stack so for the past 20 years C# has been the most common language I've used and it's also my favorite.

  • @douglasstrother6584
    @douglasstrother6584 Před 25 dny +28

    REAL MEN PROGRAM IN "C"!!

    • @ccriztoff
      @ccriztoff Před 24 dny +5

      And sorcerers program in HolyC

    • @darkgalaxy5548
      @darkgalaxy5548 Před 24 dny

      Pascal is for quiche eaters

    • @douglasstrother6584
      @douglasstrother6584 Před 24 dny +2

      @@ccriztoff XD
      ...
      "There are some who call me ... Tim."

    • @tronwalseth1198
      @tronwalseth1198 Před 24 dny +1

      No matter what language is on the table! :)

    • @philkulibin2602
      @philkulibin2602 Před 24 dny +2

      Real time and system level programming could become really ugly in C++ but not in C.
      True

  • @ab-cq1oi
    @ab-cq1oi Před 24 dny +7

    yes, they still teach assembly, and no, nobody likes java

    • @eyzake
      @eyzake Před 20 dny

      as a future java dev i agree but well i have been coding in java for 6 months now😅

    • @sunnohh
      @sunnohh Před 16 dny

      Nah, there are programmers in banks and brokerages that love java, next best thing to cobol

  • @alexdwmgzi
    @alexdwmgzi Před 24 dny +2

    The K&R C book is definitely an excellent book for beginning programmers, and explains the concepts in a clear and straightforward way. I took an Intro to C course in my first year of college, and can honestly say that two weeks with the K&R book was more valuable than a semester of formal instruction.
    The best programming language book I've seen is The Art of the Metaobject Protocol by Kiczales, Rivieres and Bobrow, which describes the Common LISP Object System. Even if you never write a line of LISP code, that book explains everything that goes into the implementation of an object system, including how methods are dispatched, inheritance, meta-classes and more. I have found it very applicable to programming C++/Qt, Java, Ruby, Python and C#, so it's definitely worth checking out.

  • @calebuic4310
    @calebuic4310 Před 24 dny +3

    You’re referring to Structure and Interpretation of Computer Programs

  • @Andrumen01
    @Andrumen01 Před 25 dny +10

    My suggestions on programming languages to learn:
    - C++ (low level compiled)
    - Python (high level interpreted)
    - Javascript (web)
    - Mathematica/MatLab (commercial)
    If not those, at least the scheme:
    - Compiled
    - Interpreted
    - Web
    - Commercial.
    The logic is the same, the capabilities are different.

    • @michaelsommers2356
      @michaelsommers2356 Před 24 dny +4

      If you think C++ is low-level, give C a shot, and learn what low-level really is.

    • @Andrumen01
      @Andrumen01 Před 24 dny

      @@michaelsommers2356 There are opinions on this, and I fall into the category that C++ is still low level, comparing it to more general programming languages. But if you really want to go low level, learn assembly....not much more for it.
      Also, C I have been using for over 20 years now, so nothing extremely new there.

    • @Andrumen01
      @Andrumen01 Před 24 dny

      @@michaelsommers2356 There are two trains of thought about this, one says that CPP is a high level language, some say that it is still low; I am in the latter group. I mean, learn Assembly if you want to learn a low level language.
      For what I do, non-embedded systems, I find that C++ is more useful than C. The bonus of learning C++ is that you will learn C simultaneously (to a greater extent, anyway). C was the first language that I learned 20+ years ago and not so long after I started using C++ and it is what I have been using for the longest time; along with Python and JavaScript. For my PhD I used Mathematica extensively, just for time sakes and ease. Don't take my word as the final word, but it's just my preference as a (almost) professional programmer.

    • @maowtm
      @maowtm Před 24 dny

      ​@@michaelsommers2356 If you think C is low-level, give assembly a shot, and learn what low-level really is. /s

    • @vitalyl1327
      @vitalyl1327 Před 24 dny

      There is no such a thing as a "compiled" or an "interpreted" language. There are languages that are better implemented as compiled, there are languages that are not worth even trying compiling them and interpretation is enough, but you absolutely can interpret C++ (ever seen CINT?) or compile Python (seen IronPython?).
      Also, why web? I've been programming since early 80s, and never touched anything web, ever. Don't think I missed anything worthwhile.

  • @deepblueharvest
    @deepblueharvest Před 19 dny +1

    Fun fact: toward the end of newer editions of the Chapman book on Fortran, there's a section on interoperability with C/C++ in which the author essentially says "Yeah, C is way better at non-math stuff than Fortran, so just write those parts of your program in C."

  • @chuckfarley7642
    @chuckfarley7642 Před 24 dny +1

    I basically agree with what you’re saying here. I would never advise someone to learn or not learn a language based on employability.
    The only other thing I would add is learning how to program and learning a language are not the same thing.

  • @nERVEcenter117
    @nERVEcenter117 Před 24 dny +10

    I think the critical languages to know are C, Python, and any Lisp. C to understand how modern systems utilize memory. Python to understand how to manipulate data and abstractions. And Lisp to learn how to structure programs, with uniform syntax and expression-based programming. The mix of ideas in these three puts you right in the middle of a nice triangle: Learning to solve a problem, learning to craft a solution, and learning how that solution runs on the system.

    • @DanialToor-jb2hw
      @DanialToor-jb2hw Před 23 dny

      Most jobs in SWE today are using C#, Java, Javascript/Typescript and some C++. So none of the languages described above. They also require you to use abstraction patterns that are not commonly seen using Lisp, Python or C. Your backends are going to built using established design patterns like Repository Pattern, Dependency Injection, and Model-View-Controller (MVC) or Model-View-ViewModel (MVVM).. which none of those languages have. OOP is still quite common in the jobs that aren't laying off like FAANG.

    • @DanialToor-jb2hw
      @DanialToor-jb2hw Před 23 dny

      C is the only real fundamental language on that list, since C will literally have you realize when you are writing bad C#, Java code and how you can use memory better. But lisp, as a whole is great for mathematics enthusiasts, hobbyists, and script kiddies. Python will be great for those that want to quickly prototype something, or use some useful libraries for data analysis, but outside of that, is not a language used to build scalable systems.

  • @Rust_Rust_Rust
    @Rust_Rust_Rust Před 25 dny +21

    "You probably shouldn't watch this" - Reverse psychology ❤

  • @rosanella8
    @rosanella8 Před 15 dny

    Thank you for the video :) I first learned C++ eons years ago and never used it (I worked for a short while as 1st-2nd line IT support), when I realised that programming perhaps wasn't for me. It often felt that I was spending more time looking for the missing semicolon 🙄than learning how to code. It was frustrating! I'm now teaching myself to code in Python mostly thinking about still being able to earn a living when I'll be retired (here in UK we might go on working.... forever 😃).

  • @laryeparkins
    @laryeparkins Před 2 dny +1

    Couldn't resist the "You shouldn't watch this..." lead. I've been programming since 1965., first learned straight up machine language on Univac 1212, 1218, UYK-7. Went on to learn BASIC, Pascal, Prolog, C, ksh, bash, awk, Forth, COBOL, Common LISP, Scheme, CAML, Perl, PHP, SQL, Ruby, Javascript, and, most recently, Python, which is now, at age 80, my go-to language, in addition to Bash and awk. Yes, I have the K&R book. In the 1990s, I taught the Programming Languages course, using the Sethi book, which romps through t ypes of languages, dwelling a little on Smalltalk in the march toward OOP. Not a fan of C++, there are better OOP languages. Looked at Eiffel (and the open source Sather), glossed over Ada, which is flawed.

  • @chuckfarley7642
    @chuckfarley7642 Před 24 dny +5

    And as far as “dead” languages if your weather forecast was right, thank FORTAN. If your paycheck cleared, thank COBOL.

    • @gorak9000
      @gorak9000 Před 17 dny

      I wouldn't call them dead, but how many new projects starting today would use fortran or cobol? I've never coded in cobol, but I have done some work in fortran. If you're a good programmer, the language doesn't much matter - you can get used to anything. The concepts are all the same, it's just the syntax that's really different. It's just how long it takes you to get used to the syntax that's the issue.

  • @ImranMoezKhan
    @ImranMoezKhan Před 25 dny +6

    A few years ago I was working in the semiconductors industry. You can't get very far without knowing LISP (SKILL-LISP) or another old "unused" language TCL. Just about no such thing as a "dead" language

    • @rusi6219
      @rusi6219 Před 24 dny

      Yeah, critical financial infrastructure pretty much runs on COBOL

    • @PaulSpades
      @PaulSpades Před 6 dny

      Tickle isn't that old. It's a funky 90s dynamic language. The commonly used (in Python and other languages) TK ui framework comes from tickle. I played around in it for a few years, kind of dig it, but never found professional use for it. Python and Lua sort of replaced it in the language-to-get-things-done-quickly niche.

  • @matthewdonald1589
    @matthewdonald1589 Před 7 dny

    Thank you for encouraging learning for the sake of learning! Sometimes I feel silly pursuing coding the projects I care about

  • @ArjunKocher
    @ArjunKocher Před 24 dny +1

    the main criteria for me personally to learn something is to use it for something(which has always been to make more money, not directly but ultimately).
    application is a great driver for learning purposes.

  • @shantanushekharsjunerft9783

    C is a beautiful language. It is the only high level language that enables you to reason at hardware level.

    • @technobubba4
      @technobubba4 Před 24 dny

      I second that sentiment !!

    • @ccriztoff
      @ccriztoff Před 24 dny +1

      If C is high level what is JavaScript and Python?

    • @anonymes2884
      @anonymes2884 Před 24 dny

      @@ccriztoff Some really do view them as "3.5 generation" programming languages because they abstract away a lot of the stuff you have to do yourself in a strictly 3rd generation language like C (but not as much as a true 4GL like e.g. SQL).

    • @artemiasalina1860
      @artemiasalina1860 Před 24 dny +1

      @@ccriztoff Script interpreters. :-)

    • @franciscodanieldiazgonzale2096
      @franciscodanieldiazgonzale2096 Před 24 dny

      C can be seen or used at two different levels: as a general structured high level language, using libraries and avoiding pointers, for example. Or as a low level syntax sugar of assembler. It can be both.

  • @lukei9772
    @lukei9772 Před 25 dny +4

    to anyone picking a language to learn: you should use the correct tool for the job. what do you want to do? pick your language based on that.
    i love learning and sometimes i get too wrapped up in the learning process but at the end of the day i think code is a means to an end, a tool, and i think people should use the right tools for the job. for me, that job has been web development, so i learned go (fast code, fast development time) and javascript/typescript (required for client, fast development time). programming is a very large discipline, might be worthwhile to figure out what you actually want to do so you can focus your learning.

  • @michaelrose1985
    @michaelrose1985 Před 7 dny

    I'm currently 53 years old, and I couldn't agree with you more. I learned Spanish and lost it. I set up a New Year's resolution to re-learn it. I did it because I wanted to.
    They also say that learning things will help with preventing dementia which runs in my family. In that, I decided to learn more about programming ECT.
    I hear a lot of hate about C++, Java, ECT. I don't give a crap about that. I had a professor state that if you want a job in a certain programming language, you spend maybe an hour or two learning it. Then you apply for it.
    It is more about attitude than anything. Appreciate the rant. Thanks

  • @tinajamis4940
    @tinajamis4940 Před 16 dny +1

    C++ is the first programming language that I am learning. Hit the ground running in college as an adult nontraditional returning student. It’s tough but I am enjoying it because I am learning coding for myself.

  • @triple_gem_shining
    @triple_gem_shining Před 25 dny +3

    I don't follow the rules

  • @FlatEarthMath
    @FlatEarthMath Před 25 dny +6

    I started with TRS-80 BASIC, then learned Fortran, and then my One True Love: Borland's Turbo Pascal. The manuals' technical writing was without peer.

    • @JoeThePilot
      @JoeThePilot Před 24 dny +1

      I had a very similar path! Did you ever use Delphi? It was Borland's answer to Visual Basic and was superior in every way. It was compiled, not interpreted like VB.

    • @FlatEarthMath
      @FlatEarthMath Před 24 dny +1

      @@JoeThePilot No, I never used Delphi. I got out of programming right when Delphi came in. I hear it was great!

    • @jalvrus
      @jalvrus Před 24 dny +2

      Wow, I had a very similar arc. Basic in high school, Fortran as an undergrad, Turbo Pascal as a grad student. Transitioned from TP to C when I went pro (very few jobs using TP in the early 90s).

    • @evancourtney7746
      @evancourtney7746 Před 24 dny +1

      My company has plenty of Delphi code in production.

  • @almari3954
    @almari3954 Před 24 dny +1

    Different languages occupy different design space.
    The best book I encountered explaining this is: "Concepts, Techniques, and Models of Computer Programming".
    There is short summary titled: "Programming Paradigms for Dummies".

  • @RadioTeal
    @RadioTeal Před 20 dny +1

    Great video, and sorry about muliple comments. I learned C++ because all languages (including Python and Go Lang) seem to use the structure of C so I think that makes it easier to learn a new language with the foundation of C.

  • @CM_Burns
    @CM_Burns Před 24 dny +15

    Make Fortran Great Again.

    • @ajarivas72
      @ajarivas72 Před 20 dny +1

      Fortran has always been great

    • @CM_Burns
      @CM_Burns Před 19 dny +2

      @@ajarivas72 yes, especially in high performance computing.

    • @ajarivas72
      @ajarivas72 Před 19 dny +2

      @@CM_Burns
      For 8 years Fortran was the only language I programmed in.
      I compiled on Windows, UNIX and Linux.
      For some time I was the user of 80% of the resources of the university mainframe.

  • @LarryButler
    @LarryButler Před 25 dny +18

    Learn to code... Learn to GPT....

    • @dr4cula472
      @dr4cula472 Před 24 dny

      Maybe in 50 years

    • @ccriztoff
      @ccriztoff Před 24 dny +1

      Wait does this mean people were forced to learn before AI?!

    • @AlexAnder-tr7or
      @AlexAnder-tr7or Před 24 dny

      @@dr4cula472 max. 5 years

    • @BillDavies-ej6ye
      @BillDavies-ej6ye Před 24 dny +1

      @@ccriztoff There were people back then?

    • @noJobProgrammer
      @noJobProgrammer Před 24 dny

      AI will make people stupid, unfortunately( , AI assistants must be used by professionals who already know the material very well

  • @KAZVorpal
    @KAZVorpal Před 14 dny +1

    One of the many reasons to learn c, aside from the fact that I just got a call from a recruiter, the other day, who was looking for a C+ plus programmer, is that it's the foundation for every major language out there today, that isn't based on Fortran. Basic is based on fortran, of course. I learned Fortran almost 50 years ago, from a weird little board game that my father was given to teach the language to him.

  • @ego-lay_atman-bay
    @ego-lay_atman-bay Před 5 dny +1

    I personally do programming because I love it. Every project I work on, is something I chose to do. I never learned any programming language solely for money, I learned these programming languages because I wanted to. I started out with scratch, moved onto snap (which is similar to scratch, but more advanced, and the creators love lisp, so much that they're adding the ability to translate blocks to lisp and back natively), and after that, I moved onto html, css, and javascript. I then learned python, and have been programming in both python and javascript for different projects since. Currently, I am planning to learn C#, because there is a program that I really want to make for both desktop and mobile (specifically android, I don't care too much about ios (it's going to be a fully open source project, with no form of payment)) (or at least the backend),

  • @MFM88832
    @MFM88832 Před 24 dny +5

    Who likes Java?!?!

    • @tigerstyping
      @tigerstyping Před 10 dny

      me I do!!

    • @PaulSpades
      @PaulSpades Před 6 dny

      Control freaks that like to beat around the bush endlessly without achieving much?

  • @johnfox9169
    @johnfox9169 Před 25 dny +2

    There are MANY excellent books on programming, but you have to get your hands dirty by writing the code and learning how to solve problems . It is rewarding. Much like learning math proof techniques. As for Fortran, we used it in William Laytons MATH 1070 Numerical Analysis course at the University of Pittsburgh back in the late 1990s. How about Mathematica and Matlab. I bought a few of your Udemy courses. You are quite good 👍

  • @johnjohnson2540
    @johnjohnson2540 Před 7 dny

    My father programmed in Fortran before my time and I started on BASIC on a Commodore Vic 20. Later did COBOL, Pascal, Assembly, C, C++, Visual C++, PHP, Lisp, Perl, Python, Apex, VBScript, Java, Javascript, and a ton of other stuff I have entirely forgotten. Nice to think that somewhere out there is a Pascal program still getting some use.

  • @user-ik6xc7mr5q
    @user-ik6xc7mr5q Před 10 dny +1

    I learned C\C++ over three decades ago in college. I still have my "Numerical Recipes in C" book. I miss those days of losing track of hours\days writing C\C++

  • @wlcrutch
    @wlcrutch Před 24 dny

    Yes, assembler is still taught. Microcontroller courses at my university use assembler to teach students how to understand the instructions on a basic level.

  • @8rboy
    @8rboy Před 5 dny

    I study computer science and last fall I took a course in ADA 95. Even though it's a very old language and it's barely used, I loved it. It had the most straight forward syntax I've ever come across.

  • @Wandering_Horse
    @Wandering_Horse Před 24 dny +1

    I have taken up electronics and microcontrollers. Arduino is a good starting point and is based on C++, but you can certainly program in C. SpaceX Falcon 9 rockets are running C, albiet using advanced compilers. In other 'obscure' languages, there is 'Ada' which has been further developed into 'Spark' and used widely in the Automotive industry for things such as ABS brakes, hvac, engine and transmission controls, etc.
    PS: Regarding Python and used books, disregard any books in the 2.x versions. They have been deprecated and are not backwards compatible with versions 3.x. Thanks Sorcerer for another informative video!

    • @anonymes2884
      @anonymes2884 Před 24 dny

      Funnily enough we learned Ada first at university _then_ went on to C (we used to call Ada a "B&D language" because it's so strictly typed, built around testability etc. - they used it in guided missiles for instance precisely because it doesn't have C's free-wheeling, loosey-goosey approach. Of course as a student, "loosey-goosey" felt absolutely liberating at the time but i'd still rather they didn't write missile guidance systems in C :).

  • @ludamillion
    @ludamillion Před 12 dny

    I love, love, love the wizard book, Structure and Interpretation of Computer Programs, and I would suggest it to anyone who is learning programming for the fun of it. There is a lot to it but it all spelled out clearly and everything builds on what came before. Lisp is not a language I use on a daily basis but the theoretical groundwork that I got from SICP has helped me almost everyday of my career.

  • @sinicvukaj2974
    @sinicvukaj2974 Před 2 hodinami +1

    Thank you for talking about Fortran and C

  • @SalimAlguslan
    @SalimAlguslan Před 18 dny

    the language that made me love solving complex systems problems. i still have the book in my home library. cherished like anything holy