You Probably Shouldn't Watch This

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 เม.ย. 2024
  • In this video about learning and why it's important to learn what you really want to learn. We take a look at books on C programming, Fortran, and Python. Do you have any advice for people? If so, please leave a comment below.
    C Programming Book: amzn.to/3y0YBmn
    Python Book: amzn.to/4b7Yofr
    Fortran Book: amzn.to/3WdjXqK
    The Wizard Book: amzn.to/3UJOPLB
    My Courses: www.freemathvids.com/
    Best Place To Find Stocks: finviz.com/?a=593802429
    Useful Math Supplies amzn.to/3Y5TGcv
    My Recording Gear amzn.to/3BFvcxp
    (these are my affiliate links)
    **********Math, Physics, and Computer Science Books**********
    Epic Math Book List amzn.to/3F98vT1
    Pre-algebra, Algebra, and Geometry amzn.to/3FdbwSn
    College Algebra, Precalculus, and Trigonometry amzn.to/3UKjvfb
    Probability and Statistics amzn.to/3FaaxCq
    Discrete Mathematics amzn.to/3P6jPE4
    Proof Writing amzn.to/3XXukxo
    Calculus amzn.to/3iEH3F3
    Differential Equations Books amzn.to/3Fac5wi
    Partial Differential Equations Books amzn.to/3uyk1SV
    Linear Algebra amzn.to/3VHiN3G
    Abstract Algebra Books amzn.to/3FzLZEr
    Real Analysis/Advanced Calculus amzn.to/3VIO4Ua
    Complex Analysis amzn.to/3P6kbuo
    Number Theory amzn.to/3UEm3vw
    Graph Theory amzn.to/3BfRd5m
    Topology amzn.to/3BiAGhe
    Graduate Level Books amzn.to/3uv1eIg
    Computer Science amzn.to/3Hh8kaU
    Physics amzn.to/3BhPCMp
    These are my affiliate links. As an Amazon Associate I earn from qualifying purchases.
    If you enjoyed this video please consider liking, sharing, and subscribing.
    Udemy Courses Via My Website: mathsorcerer.com
    My FaceBook Page: / themathsorcerer
    My Instagram: / therealmathsorcerer
    My TikTok: / therealmathsorcerer
    There are several ways that you can help support my channel:)
    Consider becoming a member of the channel: / @themathsorcerer
    My GoFundMe Page: www.gofundme.com/f/support-ma...
    My Patreon Page: / themathsorcerer
    Donate via PayPal: paypal.com/donate/?cmd=_s-xcl...
    ***********Udemy Courses(Please Use These Links If You Sign Up!)************
    Abstract Algebra Course
    www.udemy.com/course/abstract...
    Advanced Calculus Course
    www.udemy.com/course/advanced...
    Calculus 1 Course
    www.udemy.com/course/calculus...
    Calculus 2 Course
    www.udemy.com/course/calculus...
    Calculus 3 Course
    www.udemy.com/course/calculus...
    Calculus 1 Lectures with Assignments and a Final Exam
    www.udemy.com/course/calculus...
    Calculus Integration Insanity
    www.udemy.com/course/calculus...
    Differential Equations Course
    www.udemy.com/course/differen...
    Differential Equations Lectures Course (Includes Assignments + Final Exam)
    www.udemy.com/course/differen...
    College Algebra Course
    www.udemy.com/course/college-...
    How to Write Proofs with Sets Course
    www.udemy.com/course/how-to-w...
    How to Write Proofs with Functions Course
    www.udemy.com/course/how-to-w...
    Trigonometry 1 Course
    www.udemy.com/course/trigonom...
    Trigonometry 2 Course
    www.udemy.com/course/trigonom...
    Statistics with StatCrunch Course
    www.udemy.com/course/statisti...
    Math Graduate Programs, Applying, Advice, Motivation
    www.udemy.com/course/math-gra...
    Daily Devotionals for Motivation with The Math Sorcerer
    www.udemy.com/course/daily-ma...
    Thank you:)

ความคิดเห็น • 1.6K

  • @za7304
    @za7304 หลายเดือนก่อน +2862

    I just clicked cuz I saw C

    • @bingofuel3545
      @bingofuel3545 หลายเดือนก่อน +45

      Well, it cause today's lesson is sponsored by the letter"c".

    • @marcio603
      @marcio603 หลายเดือนก่อน +10

      Same here...

    • @bangbinbash
      @bangbinbash หลายเดือนก่อน +14

      Lol same bc I have that same exact C book in the thumbnail 😂

    • @walidoulondon8107
      @walidoulondon8107 หลายเดือนก่อน +4

      Me too 😂

    • @disinlungkamei2869
      @disinlungkamei2869 หลายเดือนก่อน +2

      Yyyeeaah 👍👍👍

  • @ciscoserrano
    @ciscoserrano หลายเดือนก่อน +1655

    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 หลายเดือนก่อน +58

      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 TH-cam 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 หลายเดือนก่อน +22

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

    • @mike5629
      @mike5629 หลายเดือนก่อน +14

      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 หลายเดือนก่อน +12

      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 หลายเดือนก่อน +4

      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.

  • @jeremypewterschmidt664
    @jeremypewterschmidt664 หลายเดือนก่อน +1293

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

    • @TheMathSorcerer
      @TheMathSorcerer  หลายเดือนก่อน +84

      LOL

    • @garymemetoo2238
      @garymemetoo2238 หลายเดือนก่อน +13

      Me too.

    • @SlinkyD
      @SlinkyD หลายเดือนก่อน +4

      Yep

    • @lucasamarantelucas4524
      @lucasamarantelucas4524 หลายเดือนก่อน +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 หลายเดือนก่อน +4

      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.

  • @christosbinos8467
    @christosbinos8467 หลายเดือนก่อน +650

    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 หลายเดือนก่อน +47

      It's also extremely applicable in reverse engineering malware.

    • @michaelsommers2356
      @michaelsommers2356 หลายเดือนก่อน +19

      Assembly is also a lot of fun.

    • @hrayz
      @hrayz หลายเดือนก่อน +9

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

    • @pretzelogic2689
      @pretzelogic2689 หลายเดือนก่อน +22

      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 หลายเดือนก่อน +5

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

  • @tomroderick8213
    @tomroderick8213 หลายเดือนก่อน +276

    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 29 วันที่ผ่านมา +2

      wow wise words

    • @uddhavachikara
      @uddhavachikara 23 วันที่ผ่านมา +3

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

    • @phlurim
      @phlurim 17 วันที่ผ่านมา +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 17 วันที่ผ่านมา

      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 15 วันที่ผ่านมา +2

      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 หลายเดือนก่อน +355

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

    • @MrPilotStunts
      @MrPilotStunts หลายเดือนก่อน +26

      In Lisp we trust

    • @nedmerrill5705
      @nedmerrill5705 หลายเดือนก่อน +6

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

    • @smoothemoveexlax
      @smoothemoveexlax หลายเดือนก่อน +15

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

    • @HansBezemer
      @HansBezemer หลายเดือนก่อน +24

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

    • @nedmerrill5705
      @nedmerrill5705 หลายเดือนก่อน +3

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

  • @lorensims4846
    @lorensims4846 หลายเดือนก่อน +254

    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 หลายเดือนก่อน +22

      2nd edition is where it's at!

    • @douglasstrother6584
      @douglasstrother6584 หลายเดือนก่อน +6

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

    • @michaelsommers2356
      @michaelsommers2356 หลายเดือนก่อน +10

      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 หลายเดือนก่อน +15

      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 หลายเดือนก่อน +2

      +

  • @guidichris
    @guidichris หลายเดือนก่อน +348

    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 หลายเดือนก่อน +12

      We have a very similar background

    • @technobubba4
      @technobubba4 หลายเดือนก่อน +6

      What for ? Now we go AI !!

    • @rogerforsman5064
      @rogerforsman5064 หลายเดือนก่อน +28

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

    • @freemasry-gr8hw
      @freemasry-gr8hw หลายเดือนก่อน +13

      @@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 หลายเดือนก่อน +3

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

  • @pdfads
    @pdfads หลายเดือนก่อน +283

    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 หลายเดือนก่อน +25

      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 หลายเดือนก่อน +12

      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 หลายเดือนก่อน +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 หลายเดือนก่อน +17

      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 หลายเดือนก่อน

      @@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

  • @kayleeson509
    @kayleeson509 หลายเดือนก่อน +143

    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 หลายเดือนก่อน +1

      Wow, thanks for sharing something that never taught by anyone

    • @kingki1953
      @kingki1953 หลายเดือนก่อน +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 หลายเดือนก่อน

      @@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 หลายเดือนก่อน +13

      @@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 หลายเดือนก่อน +5

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

  • @fanshaw
    @fanshaw 22 วันที่ผ่านมา +18

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

  • @xskinyx
    @xskinyx หลายเดือนก่อน +98

    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 หลายเดือนก่อน +4

      But don't use the 1st edition there.

    • @xskinyx
      @xskinyx หลายเดือนก่อน +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 26 วันที่ผ่านมา +4

      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 หลายเดือนก่อน +180

    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  หลายเดือนก่อน +11

      Awesome!!! Thank you for this comment!

    • @MartynDavies
      @MartynDavies หลายเดือนก่อน +13

      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 หลายเดือนก่อน +13

      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 หลายเดือนก่อน +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 หลายเดือนก่อน +3

      ​@@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?

  • @prism223
    @prism223 หลายเดือนก่อน +21

    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 20 วันที่ผ่านมา +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 17 วันที่ผ่านมา +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 หลายเดือนก่อน +50

    C is God's programming language.

    • @travis8106
      @travis8106 20 วันที่ผ่านมา +7

      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 20 วันที่ผ่านมา +13

      Actually Holy C is God's Language

    • @Redman8086
      @Redman8086 19 วันที่ผ่านมา +7

      @@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 18 วันที่ผ่านมา +1

      Specifcly c99

    • @nevokrien95
      @nevokrien95 18 วันที่ผ่านมา +3

      ​@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

  • @azimuth4850
    @azimuth4850 หลายเดือนก่อน +82

    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 หลายเดือนก่อน +6

      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 หลายเดือนก่อน

      @@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 หลายเดือนก่อน +6

      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 หลายเดือนก่อน

      @@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 หลายเดือนก่อน +7

      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.

  • @geert5811
    @geert5811 หลายเดือนก่อน +35

    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 หลายเดือนก่อน +1

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

    • @alexanderpoplawski577
      @alexanderpoplawski577 26 วันที่ผ่านมา

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

    • @flynnoflenniken7402
      @flynnoflenniken7402 13 วันที่ผ่านมา +2

      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.

    • @martincox4520
      @martincox4520 3 วันที่ผ่านมา

      I wrote my first COBOL programs in 1970. The course I was on we also used the "City and Guilds" assembler type language that ran on a Duce? system and the programs I have

  • @DunkSouth
    @DunkSouth หลายเดือนก่อน +36

    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 หลายเดือนก่อน +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 หลายเดือนก่อน

      @@gabrielepicco3582
      What compiler are you using?

    • @henrikholst7490
      @henrikholst7490 16 วันที่ผ่านมา

      @@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 16 วันที่ผ่านมา

      @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

  • @Antonio_Gallego
    @Antonio_Gallego หลายเดือนก่อน +11

    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."

  • @charg1nmalaz0r51
    @charg1nmalaz0r51 หลายเดือนก่อน +76

    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 19 วันที่ผ่านมา +2

      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.

  • @Gurblash
    @Gurblash หลายเดือนก่อน +32

    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 หลายเดือนก่อน +2

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

    • @ksb2112
      @ksb2112 หลายเดือนก่อน +3

      Ah, Flash AS. Those were the days. 🙂

    • @gorak9000
      @gorak9000 29 วันที่ผ่านมา +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 หลายเดือนก่อน +47

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

  • @DaveJohnsonUTU
    @DaveJohnsonUTU หลายเดือนก่อน +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 หลายเดือนก่อน

      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 หลายเดือนก่อน +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 หลายเดือนก่อน +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.

  • @JavaScripting64
    @JavaScripting64 หลายเดือนก่อน +15

    I shouldn't have watched this

  • @srazash
    @srazash หลายเดือนก่อน +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.

    • @albertmagician8613
      @albertmagician8613 10 วันที่ผ่านมา

      The big hurdle? I doubt it. The real problem is grasping repetition and conditions. And the architecture. Most large programs are a mess.

  • @ercntreras
    @ercntreras หลายเดือนก่อน +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.

  • @ego-lay_atman-bay
    @ego-lay_atman-bay 18 วันที่ผ่านมา +2

    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),

  • @FPChris
    @FPChris หลายเดือนก่อน +12

    C is still a great language.

  • @zatornagirroc7175
    @zatornagirroc7175 17 วันที่ผ่านมา +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.

  • @edwardnilges1675
    @edwardnilges1675 หลายเดือนก่อน +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!

  • @dahrayyem2648
    @dahrayyem2648 24 วันที่ผ่านมา +4

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

  • @mlliarm
    @mlliarm หลายเดือนก่อน +5

    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 หลายเดือนก่อน +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

  • @tineocedric
    @tineocedric หลายเดือนก่อน +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.

  • @SergeyB1995
    @SergeyB1995 หลายเดือนก่อน +8

    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 หลายเดือนก่อน +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 หลายเดือนก่อน

      Can you name it, please?

    • @petredraghici8705
      @petredraghici8705 หลายเดือนก่อน

      @@ianalen1687 Is there an English version?

    • @petredraghici8705
      @petredraghici8705 29 วันที่ผ่านมา

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

  • @bitmaxim
    @bitmaxim หลายเดือนก่อน +15

    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 หลายเดือนก่อน +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 หลายเดือนก่อน +2

      I never liked idea of overloading operators.

    • @stighemmer
      @stighemmer หลายเดือนก่อน +1

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

    • @atijohn8135
      @atijohn8135 18 วันที่ผ่านมา

      ​@@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

  • @CyrillKR
    @CyrillKR หลายเดือนก่อน +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.

  • @Torajio
    @Torajio หลายเดือนก่อน +1

    Come across a lot of TH-cam comments about how they wish the person in the video had been their teacher when they were younger. However, this overlooks the viewer's own mindset at the time-distracted, unfocused, uninterested, not really wanting to be there etc, all of which significantly impacts learning. Actively seeking knowledge because you want to learn something makes a big difference.

  • @jaywarzynski4111
    @jaywarzynski4111 6 วันที่ผ่านมา +1

    i am a fledgling computer science student: i began taking CIS (computer information systems) classes back in fall of 2023 and have since moved into actual computer science classes, along side, knocking out pre-calculus and beginning calculus next fall 2024.
    i still have a very long road ahead of me, and i started, by taking an "intro to computer logic" course that had us learn and code in python. i absolutely fell in love with python and fell in love with coding in general! since then i have taken 3 other classes that have involved coding and they always end up using python (but one used HTML & CSS too)
    the strange juxtaposition i have observed in a modern community college is this: the class always starts strong with 15-30 students, but as soon as the coding comes into the course, people drop and leave like crazy! it's astonishing how many people fear programming, and in today's world i have even seen students, come into the class and begin fear mongering, using a.i. as an existential doomsday weapon, of sorts, to scare others out of the class? i don't get it? why badger others, over your own esoteric fear of the unknown?
    i have also had professors in college: blatantly state their own fears and concerns over a.i. and act as if their job is in jeopardy and tell me outright "i hope you are here for the learning, because by the time you graduate there will be NO jobs for you!!!"
    i find all of this behavior rather perplexing? i mean to say, shouldn't we, as computer scientists be embracing the future and embracing change more then anyone else? is it truly so bad if i never make a dollar with my code, but i instead enhance my own understanding and appreciation for what goes into the code?
    i suppose the point im getting too is this: math sorcerer i completely agree with you!!! i love being in college in 2024, studying computer science, while everyone else is running around screaming their heads off 😆even with this "real, possible threat" at my doorstep, i am not discouraged about it, or by it, in the slightest, because if nothing else: i am there to learn!
    i appreciate programming and understanding the flow of logic, surrounding it so immensely!
    i do hope to be able to get into the industry one day, and i do hope to make a true societal impact with my learning! that would be great! even if it's something as small and as simple as, building a public commercial website for a local business or helping a client design a flashy mobile app that he uses to service his clients; being able to properly produce code and have it out in the wild, fully functioning and providing for people seems like a true goal for me!
    anyways i gotta get back to my studies. i have barely scratched the surface of python and i still gotta learn some production code like java as well as dive into some low level like C if i am to ever have a true mastery of this wild discipline of study.

  • @2meters2
    @2meters2 หลายเดือนก่อน +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.

    • @albertmagician8613
      @albertmagician8613 10 วันที่ผ่านมา

      Pointers are the addresses of machine code, say assembler. High languages are trying to abstract them away and fail. C doesn't do that and neither does Forth.

  • @juggernautknight2749
    @juggernautknight2749 หลายเดือนก่อน +26

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

  • @Yup712
    @Yup712 22 วันที่ผ่านมา

    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.

  • @ronfarmery
    @ronfarmery 11 วันที่ผ่านมา +1

    I agree with you, any language that you learn, is just for the learning. In fact, -anything- you learn is always just for the fact that learning is for -you-, never for someone else. Having past the three quarter century mark, I can confirm that I have been learning all my life. In fact, I used the C language for the first time at the end of the 70’s. It is still my favorite language even after learning 30+ other ones. Each one has its own purpose, that is sure. I did not limit myself to computer languages. I am trilingual since I was a small boy and I have very good knowledge of two other spoken languages. Additionally, I am learning even another one. That’s in addition to the fact that last year, I became a ham radio operator, successfully passing the HAREC exam, the top license, the most complex but also the most complete one. So, never stop learning! It keeps the brain busy. By the way, Kernighan and Ritchie did not invent the C++ language as you seem to say in this video, just C.

  • @oscaralexander6594
    @oscaralexander6594 หลายเดือนก่อน +4

    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

  • @davidboettcher1900
    @davidboettcher1900 หลายเดือนก่อน +5

    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 21 วันที่ผ่านมา +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.

  • @Mykey404
    @Mykey404 9 วันที่ผ่านมา +2

    Reading the comments, it's great to know I'm not the only old guy here.

  • @davidionesi9207
    @davidionesi9207 5 วันที่ผ่านมา +1

    Thank you. I resonated with your apptoach to learn for the sake of learning. I love your videos.

  • @douglasstrother6584
    @douglasstrother6584 หลายเดือนก่อน +28

    REAL MEN PROGRAM IN "C"!!

    • @ccriztoff
      @ccriztoff หลายเดือนก่อน +6

      And sorcerers program in HolyC

    • @darkgalaxy5548
      @darkgalaxy5548 หลายเดือนก่อน

      Pascal is for quiche eaters

    • @douglasstrother6584
      @douglasstrother6584 หลายเดือนก่อน +2

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

    • @tronwalseth1198
      @tronwalseth1198 หลายเดือนก่อน +1

      No matter what language is on the table! :)

    • @philkulibin2602
      @philkulibin2602 หลายเดือนก่อน +2

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

  • @profamitgupta
    @profamitgupta หลายเดือนก่อน +3

    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.

  • @clownhands
    @clownhands หลายเดือนก่อน +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.

  • @STEAMerBear
    @STEAMerBear หลายเดือนก่อน +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.

  • @thomasstambaugh5181
    @thomasstambaugh5181 หลายเดือนก่อน +6

    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 12 วันที่ผ่านมา +1

      It uses Scheme, not Lisp.

    • @thomasstambaugh5181
      @thomasstambaugh5181 12 วันที่ผ่านมา +1

      @@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.

    • @pschneider1968
      @pschneider1968 12 วันที่ผ่านมา +1

      @@thomasstambaugh5181 Yeah, that's right. I guess Common Lisp was standardized wwwaaayy after this book was published. I remember working through the book in, ehr... 1995 or 96? using the R^3 version of MIT scheme... Long time ago.

    • @thomasstambaugh5181
      @thomasstambaugh5181 11 วันที่ผ่านมา

      @@pschneider1968 Heh -- I learned Lisp in 1973. Lisp was at the center of the first great AI boom of the 1980s. I worked with two competing vendors in Cambridge -- Symbolics and Lisp Machines Inc (LMI) -- during their heyday. Lisp was universal in the Computer Science community long before Common Lisp was standardized (and long before Scheme was created).

    • @reidpinchback8850
      @reidpinchback8850 11 วันที่ผ่านมา +1

      ​@@thomasstambaugh5181but it is important to note that the choice of Scheme wasn't just some random event in selecting that versus other LISP variants of the time. When this was happening, Scheme benefited from some of the early attempts to describe the meaning of programs via robust semantic formalisms such as denotational semantics. LISP generally I don't believe was in that state at that time. The goal at MIT and elsewhere, at that time, was to sidestep problems like other languages had experienced where different ports or variants got tangled up in differing human intepretations of prose-based language descriptions. It was a long journey from Algol until Scheme wherr finally made such attempts finally came together.
      Yeah, I have been at this that long to remember, lol.

  • @davidc4322
    @davidc4322 หลายเดือนก่อน +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 28 วันที่ผ่านมา

      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

  • @ulysses_grant
    @ulysses_grant 11 วันที่ผ่านมา

    Good to see such a video from you. I'm a senior C ANSI programmer and I just love this language-it's by far my favorite programming language of all time. The problem is that I just cannot find a job in software development anymore, first because I'm a little old now, and second because I have no professional experience with modern programming languages like Python, Rust, C#, etc. - even though I know how to program in these languages. But it's ok, I will keep trying to find a job to work with development again, even if it's a junior position. I just love programming.
    Anyway, another great book I can recomend to anyone who is studying C is Frantisek Franek's "Memory as a Programming Concept in C and C++". Quite intermediate/advanced level, but it's a classic.
    Enjoy your trip! Computer programming is just a fabulous world.

  • @EduardoEscarez
    @EduardoEscarez หลายเดือนก่อน

    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 😅

  • @joannloos17
    @joannloos17 หลายเดือนก่อน +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 หลายเดือนก่อน

      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 หลายเดือนก่อน +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 หลายเดือนก่อน

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

  • @KAZVorpal
    @KAZVorpal 26 วันที่ผ่านมา +3

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

  • @keithstandiford3761
    @keithstandiford3761 29 วันที่ผ่านมา +1

    Oh My! More languages than I can remember! Fortran (first!), Algol, Pascal, Snobol (a string processing language with regular expression matching!), C (on UNIX over 50 years ago), Python, Perl, C++ and C# (still a novice for those), and more assembly languages than I can remember. I have a lot of respect for the inventors of Rust, that may be next.
    I agree with many others: learn C first. After that you'll be amazed how many others you can already read!
    And never stop learning, for two reasons. First you never know where you will end up. In my career I finished doing things I NEVER expected. Second, the process keeps your brain young and engaged.
    I am currently playing with bare hardware micro computers like the Pi Pico (look on Github) and designing analog printed circuit boards, another thing I never expected to do.

  • @jeremiahreilly9739
    @jeremiahreilly9739 หลายเดือนก่อน +1

    Learn what you what you want to learn. Simple. Brilliant. You nailed the message in this video. I am a hobbyist mathematician. I like to do geometry and number theory problems. I am a hobbyist programmer. I like to program in Processing [a JAVA superset designed for visual manipulation]], Racket [a modern dialect of Lisp],, and Supercollidor, a domain specific language for sound manipulation. Can you tell I am an artist?

  • @OrdenJust
    @OrdenJust หลายเดือนก่อน +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 ==).

    • @IllumTheMessage
      @IllumTheMessage หลายเดือนก่อน +6

      A lot of us did that

  • @kenkenken7789
    @kenkenken7789 หลายเดือนก่อน +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 หลายเดือนก่อน +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 หลายเดือนก่อน +3

      You two should meet up

    • @mfaracing
      @mfaracing หลายเดือนก่อน

      Do it! You can't go wrong.

    • @novakandfaith123
      @novakandfaith123 หลายเดือนก่อน

      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_ หลายเดือนก่อน

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

  • @jackswitzer5569
    @jackswitzer5569 หลายเดือนก่อน +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

  • @paulvmunix
    @paulvmunix หลายเดือนก่อน +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 หลายเดือนก่อน +1

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

  • @nERVEcenter117
    @nERVEcenter117 หลายเดือนก่อน +11

    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 หลายเดือนก่อน

      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 หลายเดือนก่อน

      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 หลายเดือนก่อน +21

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

  • @chuckfarley7642
    @chuckfarley7642 หลายเดือนก่อน +2

    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.

  • @deepblueharvest
    @deepblueharvest หลายเดือนก่อน +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."

  • @ab-cq1oi
    @ab-cq1oi หลายเดือนก่อน +7

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

    • @eyzake
      @eyzake หลายเดือนก่อน

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

    • @sunnohh
      @sunnohh 29 วันที่ผ่านมา

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

    • @toby9999
      @toby9999 11 วันที่ผ่านมา

      I hate java. I've been trying to learn it for 25 years. My brain says no. Too many years coding in C and C++.

  • @Sketchartbymarc1
    @Sketchartbymarc1 6 วันที่ผ่านมา +1

    Remember that Kernighan and Riche book well! I agree it was helpful along with other texts when I was learned C back in the 80s. One of my professors was adamant that we read it.

  • @torarinvik4920
    @torarinvik4920 หลายเดือนก่อน +1

    I know many including C++, Haskell, Python and more, but my favorite is F#, a functional programming language that runs on .NET making it possible to use C# libraries. A close second is Swift, it's similar to Rust but with automatic memory management, better OOP and more concise.

  • @warrenmadden2586
    @warrenmadden2586 หลายเดือนก่อน +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 หลายเดือนก่อน +3

      The lectures from one instance of the course are on TH-cam.

    • @xravenx24fe
      @xravenx24fe หลายเดือนก่อน +1

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

    • @MadocComadrin
      @MadocComadrin หลายเดือนก่อน +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

  • @chuckfarley7642
    @chuckfarley7642 หลายเดือนก่อน +5

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

    • @gorak9000
      @gorak9000 29 วันที่ผ่านมา

      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.

  • @Squish888
    @Squish888 หลายเดือนก่อน +2

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

    • @funicon3689
      @funicon3689 หลายเดือนก่อน +3

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

  • @l3martin
    @l3martin หลายเดือนก่อน +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.

  • @ImranMoezKhan
    @ImranMoezKhan หลายเดือนก่อน +7

    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 หลายเดือนก่อน

      Yeah, critical financial infrastructure pretty much runs on COBOL

    • @PaulSpades
      @PaulSpades 18 วันที่ผ่านมา +1

      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.

  • @calebuic4310
    @calebuic4310 หลายเดือนก่อน +3

    You’re referring to Structure and Interpretation of Computer Programs

  • @tomsawyer3947
    @tomsawyer3947 28 วันที่ผ่านมา +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)

  • @xlerb2286
    @xlerb2286 หลายเดือนก่อน +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.

  • @Andrumen01
    @Andrumen01 หลายเดือนก่อน +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 หลายเดือนก่อน +5

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

    • @Andrumen01
      @Andrumen01 หลายเดือนก่อน

      @@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 หลายเดือนก่อน

      @@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 หลายเดือนก่อน

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

    • @vitalyl1327
      @vitalyl1327 หลายเดือนก่อน

      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.

  • @CM_Burns
    @CM_Burns หลายเดือนก่อน +15

    Make Fortran Great Again.

    • @ajarivas72
      @ajarivas72 หลายเดือนก่อน +1

      Fortran has always been great

    • @CM_Burns
      @CM_Burns หลายเดือนก่อน +2

      @@ajarivas72 yes, especially in high performance computing.

    • @ajarivas72
      @ajarivas72 หลายเดือนก่อน +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.

  • @dougpark1025
    @dougpark1025 หลายเดือนก่อน +1

    I've been programming for more than 40 years. I started with Basic, then Fortran, C, Pascal, C++, Java, Ruby, various scripting languages, dabbled in JavaScript, PHP, and learned Python pretty well.
    A programming language is just a technology that facilitates expressing some algorithm in a way that both you and the computer you are using understand.
    Computers work in very simplistic ways, Look at the assembly instructions for the hardware you happen to programming for. These are very simple taken one at a time. But are often difficult to understand taken in quantity. Even though binary numbers are fairly easy to understand it's a lot easier to understand more familiar decimal numbers. But at times it is better to use something like hexadecimal numbers.
    Learning algorithms, data structures, and other concepts like design patterns, etc. are much more important than learning a specific language. Grasping algorithmic complexity is another area that I've seen really smart people not really comprehend.

  • @edwarddurkin6635
    @edwarddurkin6635 หลายเดือนก่อน +1

    Learned FORTRAN in college. Got to write some programs in it when I worked for the phone company. There I learned Basic, C, C++, VB, dBase, and some scripting languages that I can’t even remember. FORTRAN was a memory by the mid 90s. Pascal was hot but I never used it. C++ was in demand so I did some work with that and then moved on to Java.

  • @triple_gem_shining
    @triple_gem_shining หลายเดือนก่อน +3

    I don't follow the rules

  • @lukei9772
    @lukei9772 หลายเดือนก่อน +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.

    • @toby9999
      @toby9999 11 วันที่ผ่านมา

      I did the other way. I picked the jobs most suited to the tools I preferred... 99% C++. Saved me a lot of hair pulling and head bashing learning a bunch of crappy "flavour of the month" scripting languages.

  • @user-ew9kh8wx4w
    @user-ew9kh8wx4w หลายเดือนก่อน

    Great video. This is a random off topic question but do you have any thoughts, experience or solutions with dyscalculia? It's fascinating how someone can not grasp math in a way like it's blocked from their brain. Especially mental math. There is such Little understanding of it other than damage to a part of the brain. Thank you

  • @laryeparkins
    @laryeparkins 14 วันที่ผ่านมา +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.

  • @LarryButler
    @LarryButler หลายเดือนก่อน +18

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

    • @dr4cula472
      @dr4cula472 หลายเดือนก่อน

      Maybe in 50 years

    • @ccriztoff
      @ccriztoff หลายเดือนก่อน +1

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

    • @AlexAnder-tr7or
      @AlexAnder-tr7or หลายเดือนก่อน

      @@dr4cula472 max. 5 years

    • @BillDavies-ej6ye
      @BillDavies-ej6ye หลายเดือนก่อน +1

      @@ccriztoff There were people back then?

    • @noJobProgrammer
      @noJobProgrammer หลายเดือนก่อน

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

  • @FlatEarthMath
    @FlatEarthMath หลายเดือนก่อน +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 หลายเดือนก่อน +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 หลายเดือนก่อน +1

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

    • @jalvrus
      @jalvrus หลายเดือนก่อน +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 หลายเดือนก่อน +1

      My company has plenty of Delphi code in production.

  • @jackevans2386
    @jackevans2386 12 วันที่ผ่านมา

    I've just turned 70. My introduction to programming started with Basic on a VIC-20 computer, back in the early 80s. I then learnt machine code programing and then ASM.
    I loved it all. A couple of decades later, the Atmel AVR microcontrollers appeared.
    It was quite amazing how the skills I'd learnt from my VIC-20 ASM days were relevant again.
    I was programming AT90S2313 Atmel micros in no time at all.
    I've never looked back at the hours spent learning with any animosity at all.
    It is always worth it.

  • @almari3954
    @almari3954 หลายเดือนก่อน +2

    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".

  • @shantanushekharsjunerft9783
    @shantanushekharsjunerft9783 หลายเดือนก่อน +8

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

    • @technobubba4
      @technobubba4 หลายเดือนก่อน

      I second that sentiment !!

    • @ccriztoff
      @ccriztoff หลายเดือนก่อน +1

      If C is high level what is JavaScript and Python?

    • @anonymes2884
      @anonymes2884 หลายเดือนก่อน

      @@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 หลายเดือนก่อน +1

      @@ccriztoff Script interpreters. :-)

    • @franciscodanieldiazgonzale2096
      @franciscodanieldiazgonzale2096 หลายเดือนก่อน

      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.

  • @MFM88832
    @MFM88832 หลายเดือนก่อน +6

    Who likes Java?!?!

    • @tigerstyping
      @tigerstyping 22 วันที่ผ่านมา

      me I do!!

    • @PaulSpades
      @PaulSpades 18 วันที่ผ่านมา

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

    • @toby9999
      @toby9999 11 วันที่ผ่านมา +2

      I hate it with a vengeance.

  • @ehsnils
    @ehsnils หลายเดือนก่อน +1

    C is important because most other programming languages today are written in C.
    Unfortunately script languages like Python suffers a lot from the same issues that Basic had in the 80's - easy to write code, but also easy to write bad programs and very hard to maintain in the long run in larger systems.

  • @codewizard58
    @codewizard58 หลายเดือนก่อน

    Using the grammar at the back of the K & R book I wrote and sold C compilers for the CDC 6500 NOS 1.4 OS in 1982. The compiler was written in PASCAL. Also did an 8086 code generator that was cross compiled on the CDC machine and ran C programs on a SBC86-12 Multibus card.

  • @matthewdonald1589
    @matthewdonald1589 19 วันที่ผ่านมา

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

  • @ArjunKocher
    @ArjunKocher หลายเดือนก่อน +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.

  • @kareemali-ge2zu
    @kareemali-ge2zu หลายเดือนก่อน +1

    Thank you very much i love watching your videos it encourages me thank you

  • @AwosAtis
    @AwosAtis หลายเดือนก่อน

    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!

  • @phaedruscj3330
    @phaedruscj3330 18 วันที่ผ่านมา

    Where do they get the keypunch machines to do their FORTRAN programs?