Why C? - CS50 Podcast, Ep. 7

  Рет қаралды 123,111

CS50

CS50

Күн бұрын

The CS50 Podcast is hosted by CS50's own David J. Malan and Brian Yu at Harvard University. Each episode focuses on (and explains!) current events and news in tech and computer science more generally.
• CS50 Podcast
In this week's episode of the CS50 Podcast, David and Brian talk about why CS50 is taught (primarily) in C.
This is the CS50 Podcast.
Links to the articles in this episode:
Why does CS50 at Harvard use C as its primary language?
www.quora.com/Why-does-CS50-a...
Why did you decide to replace PHP with Python? Is PHP closer to C?
www.quora.com/Why-did-you-dec...
Top languages over time
octoverse.github.com/projects...
Follow us on other social media to get news on upcoming shows and more:
Google Podcasts: play.google.com/music/listen?...
iTunes: podcasts.apple.com/us/podcast...
Soundcloud: / podcast0
Spotify: open.spotify.com/show/3MxtKWd...
***
This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming.
***
HOW TO SUBSCRIBE
kzbin.info_c...
HOW TO TAKE CS50
edX: cs50.edx.org/
Harvard Extension School: cs50.harvard.edu/extension
Harvard Summer School: cs50.harvard.edu/summer
OpenCourseWare: cs50.harvard.edu/x
HOW TO JOIN CS50 COMMUNITIES
Discord: / discord
Ed: cs50.harvard.edu/x/ed
Facebook Group: / cs50
Faceboook Page: / cs50
GitHub: github.com/cs50
Gitter: gitter.im/cs50/x
Instagram: / cs50
LinkedIn Group: / 7437240
LinkedIn Page: / cs50
Quora: www.quora.com/topic/CS50
Slack: cs50.edx.org/slack
Snapchat: / cs50
Twitter: / cs50
KZbin: / cs50
HOW TO FOLLOW DAVID J. MALAN
Facebook: / dmalan
GitHub: github.com/dmalan
Instagram: / davidjmalan
LinkedIn: / malan
Quora: www.quora.com/profile/David-J...
Twitter: / davidjmalan
***
CS50 SHOP
cs50.harvardshop.com/
***
LICENSE
CC BY-NC-SA 4.0
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License
creativecommons.org/licenses/...
David J. Malan
cs.harvard.edu/malan
malan@harvard.edu

Пікірлер: 132
@furrukhjamal00
@furrukhjamal00 4 жыл бұрын
I took cs50x in 2016, took me nearly 8 months to finish the course. 2 years later I would agree that starting with C was the best decision and format structure for CS50. It should always be like this
@rajab4187
@rajab4187 4 жыл бұрын
I started C++
@WhiteThunder121
@WhiteThunder121 3 жыл бұрын
@@rajab4187 🆗🆒
@WhiteThunder121
@WhiteThunder121 3 жыл бұрын
@Dario Kayden fuck Off bot
@makara2711
@makara2711 3 жыл бұрын
what was the course called? is it in this channel? does it teach you how to program using C? please tell me...
@gonahkar5657
@gonahkar5657 3 жыл бұрын
They are expert in programming .if they schadule that we learn C first. There is something that we dont know
@Whatdisaypt1and2
@Whatdisaypt1and2 Жыл бұрын
Never stop teaching c. It will always be the best first language. Keep calm and free your mallocs
@DJ-lo8qj
@DJ-lo8qj Жыл бұрын
I started learning programming in JavaScript, then took CS50. Wow, the difference in my understanding of "what is going on under the hood", so to speak, has been so beneficial. Seems like starting in C is a great choice.
@loremipsum928
@loremipsum928 Жыл бұрын
I have the same experience. CS50, particularly starting with C, filled in so many gaps in understanding the fundamentals in programming and made me write better code.
@vivekkoul4428
@vivekkoul4428 Жыл бұрын
My journey also quite similar. Started CS50 in Feb last year with no programming experience. Found week 3 too hard so stopped further. Then switched to web development and javascript from October 2021. Learned a lot of JS. Then came back again to CS50 to know something which every software engineer should know. And now i am on week-6! Planning to complete before 1st Jan 2023. I feel it's problem sets are really hard for a complete beginner. So because of this reason I feel that this course is best for both beginners and those with some coding experience. After gaining some programming experience using javascript i came back again and solved those psets. In all this is the best course u have ever taken
@chaomanu
@chaomanu 3 жыл бұрын
I studied python first for a few months as my first language and then started CS50. It really helped me solve those problem sets, just by giving me an idea of how to think as a programmer
@hosea_br
@hosea_br 3 жыл бұрын
same here
@craigpointon8394
@craigpointon8394 2 жыл бұрын
yeah same experience
@fsociety852
@fsociety852 4 жыл бұрын
i'm follow MOOC curriculum Computer Science from Prof James Leland Harp and I study alone . I always look forward to CS 50 podcasts because when i followed CS50 Harvard i didn't feel alone. I feel I'm joining the student community of computer science
@br3ak_
@br3ak_ 2 жыл бұрын
Absolutely amazing and informative podcast, thank you so much.
@divyam._.maheshwari
@divyam._.maheshwari 2 жыл бұрын
Why C? The answer is simple: Theory of Relativity. David just thought: let's first show them the hardest programming language, so later when they see Python (which is objectively still hard), it feels like a walk in the park. Genius move right there, @cs50.
@katarzynakapusta2525
@katarzynakapusta2525 2 жыл бұрын
Right? And wasn't it a brilliant idea to start with Scratch, and soon translate those splashy-coloured blocks into sets of curly braces, so that they don't seem like an extra layer of obscurity anymore (or at least less so :p)?
@divyam._.maheshwari
@divyam._.maheshwari 2 жыл бұрын
@@katarzynakapusta2525 Yes! CS50 is awesome.
@donovanm.8909
@donovanm.8909 Жыл бұрын
this reply is asinine. i dont need to learn manual driving to know using an automatic is much better. i have eyes. it really is that simple, im sorry you have no imagination.
@stopthecap8810
@stopthecap8810 Жыл бұрын
thats not what the theory of relativity means you fucking pretentious moron.
@IMWATCHING501
@IMWATCHING501 3 жыл бұрын
I would like to share my experience for all of you who dislike or disprove of teaching C as first language. My first language was not C, it was JavaScript which has some syntax similarities to C. What happened to me when learning JavaScript, I found myself many times asking "what hell is going on under the hood" and ended up working my way backwards from a high level language back to a low level language. If you considering to get serious at programming I would argue that learning low level programming is mandatory, for your own sake.
@islandcave8738
@islandcave8738 2 жыл бұрын
I think one advantage of starting with C over Python for beginning, is because I think the strong typing, makes it easier to communicate the concept to the learner that there are different "types" of variables. Also, it is better than C++ or Java or C# for a starter language, because object orientation is a more advanced concept, that is more easily understood once you understand basic variables and functions well. And yes, the low level aspect, but not too low level of assembly, is good, so that the learner can form an appreciation of what the computer is doing without getting too used to high level stuff first is good. Also, pointers are not that hard, if well taught.
@datpham31415
@datpham31415 9 ай бұрын
CS50 content is so wonderful. There is no CS structure that is comfortable and much fun than CS50x. I'm from Vietnam
@mehmedkukavica8076
@mehmedkukavica8076 2 жыл бұрын
50% of programming is the use of abstractions. In c and other languages, Stream is an abstraction that you have to use from the beginning and everyone skips to explain it. If you understand the functions for straem in c I think you will understand each documentation 80% easier. It doesn't matter if it's Java, Javascript, C ++, ..
@johnkriervillanueva5112
@johnkriervillanueva5112 3 жыл бұрын
I agreeeeeee soooo much! I'm so thankful that I got to learn C first because later on, I have a better view of what goes on underneath. Let's take houses metphorically for example, when something goes wrong in a house and you don't have the blueprints, it's quite hard to decide on what's the best approach to fixing it. Whereas when you know what's underneath, you can pretty much start out on the path closest to the problem.
@donovanm.8909
@donovanm.8909 Жыл бұрын
except you still have the blueprints, they're just written using modern standards. you wouldn't build a house or even start to learn how to build a house using old engineering techniques would you? using old tools for drawing doesn't help you to understand how new ones work better. you're using an incomplete metaphor to describe an idea you cant even comprehend.
@mikatu
@mikatu Жыл бұрын
@@donovanm.8909 exactly. people eat any BS nowadays. it is different knowing how stuff works and learning old techniques which have nothing to do with it.
@ankitcaring
@ankitcaring 4 жыл бұрын
Plz do more of these podcasts... #love from INDIA
@adamantinebipartite4732
@adamantinebipartite4732 4 жыл бұрын
Good talk, you and Brian are a dream-team. Teaching C first is definitely a good way to go. I've started to get more into low-level programming, and I'm reading textbooks on computer organization and operating systems. The book covers MIPS assembly, and working with really takes it to the next level in understanding what's going on under the hood. It's awesome!
@ronr2030
@ronr2030 4 жыл бұрын
What is the "Book". ?
@adamantinebipartite4732
@adamantinebipartite4732 4 жыл бұрын
​@@ronr2030 Oh, of course. The book on computer organization is called "MIPS! MIPS! What wonderful Nips!: A Deep Dive Under the Hood, 8th Edition", by Richard Chase. The operating systems book is called "A Fastidious Rundown of Underlying Truths Revealed within Operating Systems: Linus Torvalds: The Would-be Trillionaire: Heartbreak, Brilliance, and Redemption, The Already-told story, 18th Edition.", written by John Endian-Flops. Both a must read, in my opinion.
@vaylx2253
@vaylx2253 Жыл бұрын
@@adamantinebipartite4732 none of these books exist… lol
@excalibur05
@excalibur05 Жыл бұрын
Never change this. C is the goat
@KouCain
@KouCain 3 жыл бұрын
I like how Brian played devil's advocate and caught David off guard, I find that quite cute
@tomaslluna9656
@tomaslluna9656 Жыл бұрын
david and brian absolute leyends !!
@pankajkhushalani
@pankajkhushalani 4 жыл бұрын
I really wanted this podcast. Weeks before I came to know about CS50x on edX from a close friend, I had already begun a course in C++. I gave CS50 a try in the middle of .y C++ course and found it absurd to learn C. However, eventually I understood why Prof. Malan started with C. He used it to gradually level us up on abstractions. It helped me program better. Thank you Prof. Malan !
@TheVertical92
@TheVertical92 3 жыл бұрын
Yep. Its really dumb how many of these WebTeachers say shit like "Dont learn C, its a waste of time. Learn Python or JavaScript". And i was one of these ppl that followed this advice. I started learning JavaScript (after HTML/CSS) and at first i really made some progress. But i got to a point where i had a blockade bcs i was confused about what happens under the hood. It was too abstracted. Then i found CS50 and got into C. It really helped alot and i finally got some sort of problem solving mindset. And i really have to say: C is a very cool language. I enjoy the interaction with the metal^^
@shivanshuudeniya3338
@shivanshuudeniya3338 4 жыл бұрын
I just love this man's voice...
@raybp7512
@raybp7512 10 ай бұрын
The fact that CS50 have you literally create functions like atoi or max in C where you have to always specify your data types (floats, ints etc) makes going to other languages so enjoyable and I think many find they miss the strictness or C
@davidcottrell1308
@davidcottrell1308 Жыл бұрын
DM is very good. Great teacher!!
@carldupreez4438
@carldupreez4438 4 жыл бұрын
Do you think you could do an introduction to assembly language where you could teach just the very basics of language?
@Brlitzkreig
@Brlitzkreig 2 жыл бұрын
Such a legend of a course
@ipodtouch470
@ipodtouch470 Жыл бұрын
I like both ideologies I started with Java then moved to c. I took assembly before I learned c though. Programming in Java let me learn how to think like a programmer, if I would have started with c I would have gotten overwhelmed with all the manual things you have to do. I can also see the flip side though some people that start with something with python might have a hard time moving to c. Also starting with c builds grit and let’s you learn low level memory which is a great knowledge to have in your back pocket.
@JoArtsDev
@JoArtsDev 2 жыл бұрын
man I got to admit that from Malan I've learned just as much about english dictionary (as non native speaker), this guy always has me googling "new word Ive never heard of" meaning.
@julsa1813
@julsa1813 Жыл бұрын
Right? Me too! for the sake of discussion jsjsjs
@pitascorner8355
@pitascorner8355 11 ай бұрын
Exactly
@joshuasimmons696
@joshuasimmons696 10 ай бұрын
You got my attention, subscribed
@akariamano5544
@akariamano5544 4 жыл бұрын
C is great for learning.
@ZedP
@ZedP Жыл бұрын
Yep, starting with C and continuing with Python. Sometimes that's just everything you need to know about programming.
@germa66stealthblack
@germa66stealthblack Жыл бұрын
what about continuing with js instead of python, do you think it's good idea?
@ZedP
@ZedP Жыл бұрын
@@germa66stealthblack Of course you can. However, JavaScript has the more limited scope than Python, but if you are satisfied with it, just go on.
@chikenmacnugget
@chikenmacnugget Жыл бұрын
@@ZedP more limited scope lmao
@better6207
@better6207 11 ай бұрын
​@@ZedP how does it have more limited scope I heared js can be used in front end as back end compared to python which only can be used in back end developement
@ZedP
@ZedP 11 ай бұрын
@@better6207 Python is not used only in web development, it has pretty universal scope.
@codybishop7526
@codybishop7526 4 жыл бұрын
I love the course but man, the problem sets start off very difficult. The lectures are easy to follow but the online course assumes we are all Harvard quality students.
@louiversal_
@louiversal_ 4 жыл бұрын
Cody Bishop LMFAO I feel the same way
@mohammedhubail1607
@mohammedhubail1607 3 жыл бұрын
Such difficulity is made that quality to begin with.
@fernandoed1517
@fernandoed1517 3 жыл бұрын
the challenge is fun
@SoySasha
@SoySasha 3 жыл бұрын
The thing is that the lection is there to give you the basic concepts and what are the things you are going to implement, how are they related. The shorts are more what are these concepts in detail. And how to implement is up to you. You have to struggle, rewatch, google, try and fail. They are supposed to be hard, because otherwise you would do this easy quiz and won't learn that much. Practice makes a real maestro.
@TheVertical92
@TheVertical92 3 жыл бұрын
Yes they are hard if you never coded before. I had some experience with JavaScript before i got into CS50 and the mario pset melted my brain^^ But after this warm up, it was ok. CS50s approach is much better than others imo. I learned JavaScript on FCC and i have to say: Going through so many concepts so quickly that you forgot half of it when you finally get to the projects, is just not the right approach for me. I love FCC, but CS50s approach to introduce into coding is much better imo.
@Aemilindore
@Aemilindore 4 жыл бұрын
Thanks. We love cs50
@savannahlin8063
@savannahlin8063 3 жыл бұрын
After class, I enjoy coding in c. thank you so much
@wellumm
@wellumm 3 жыл бұрын
Damn I wish I could find answer to is cs50 course right place to start after being familiar to coding with MIT's processing? My goal is not to create visuals but problem solving -maybe to make novel interactions- I would appreciate any insight.
@BijouBakson
@BijouBakson 10 ай бұрын
Thank you
@krazeemonkee
@krazeemonkee Жыл бұрын
pedagogically ~ in a way that relates to the methods and theory of teaching
@well.technically
@well.technically 3 жыл бұрын
I never understood why my uni dropped C as an introductory programming language in favor of Python, a few years after my freshman year. You could choose either one when I started, later you must have gone through Python and C was only optional but I don't think the students know what they're missing on when they choose to skip it. And that's the kind of European uni where you basically graduate in the major you enrolled in before starting the college. So it's not like "being bothered with C" may have no value for you as you're to graduate in CS no matter what.
@donovanm.8909
@donovanm.8909 Жыл бұрын
because people actually use python in the real world and it will help you get a job. typing printf(" "); doesnt help you to understand the function of the command print anymore that typing print() does. you kids seriously have zero imagination
@yash1152
@yash1152 Жыл бұрын
6:22 > _"for those listening in, it's not planned"_ heheheh, i like the gentle way sir DJM handles things :D
@nihonium2865
@nihonium2865 4 жыл бұрын
Damn, I click so fast when I see C :D
@armstrongtixid6873
@armstrongtixid6873 3 жыл бұрын
You know, I hated C to start, but now I like coding in C after this course! Thank you so much. It's a shame that C seems to be a dying language, only used in ridiculously power-hungry tasks.
@TheVertical92
@TheVertical92 3 жыл бұрын
Well like you said: It just seems like that. But C wont die anytime soon. And its not only used for power-hungry tasks. Its used especially in Embedded-Systems...and we have a lot of them^^
@unixpert321
@unixpert321 3 жыл бұрын
Thats cuz modern applications have evolved to a level where doing most stuff like making a basic gui would have you writing hundreds of lines of c
@metalcarlos23
@metalcarlos23 2 жыл бұрын
I like to think of C as Latin. People say it's a dead language but in reality it's everywhere.
@nigh_anxiety
@nigh_anxiety 2 жыл бұрын
If you're using Python you're (usually) mostly using C under the hood. C will probably be around for a long time as a low level language. Fortran and Cobol are still around, and if you write those you can get some good contract work maintaining old systems.
@nayankumarbarwa4317
@nayankumarbarwa4317 2 жыл бұрын
@@nigh_anxiety You cant really use the "under the hood" term here It belongs to only David, the man himself
@majdalin1265
@majdalin1265 10 ай бұрын
I started learni Javascript but i coudn't understand the fundumentals of programming for example i coudn't understands what loops/nested loops under the hood Then I started learning C and it made it much easier
@djsharpmclive1221
@djsharpmclive1221 3 жыл бұрын
Thx
@iamarh
@iamarh Жыл бұрын
How about starting with C++?
@vaibhavbijapur6037
@vaibhavbijapur6037 2 жыл бұрын
as an electrical engineer i was first exposed to Assembly with microprocessors and then C for embedded systems. In that context C is King hands down because there is nothing as fast for those applications.
@colinmaharaj
@colinmaharaj Жыл бұрын
Is there a 2022 version of this
@Tidonius
@Tidonius 2 жыл бұрын
Word of the day: pedagogically Bonus points if you can drink every time it’s said without permanent liver damage.
@anzifai717
@anzifai717 4 жыл бұрын
uni start with c .......mine does
@ekosetiawan_indo
@ekosetiawan_indo 3 жыл бұрын
not just I, it's we
@AlmostRipeOrange
@AlmostRipeOrange 11 ай бұрын
Podcasts are so old . Update pls
@sony07101988
@sony07101988 4 жыл бұрын
I am currently working as Python developer for the last 2years. Will it be beneficial if now I learn C Or C++, so that I could know more about what actually is going under the hood????
@sony07101988
@sony07101988 4 жыл бұрын
My first language was Python only.
@lyricsmint567
@lyricsmint567 4 жыл бұрын
Then C is going to be a nightmare for you..
@adhamsalama4336
@adhamsalama4336 4 жыл бұрын
Probably not.
@rajab4187
@rajab4187 4 жыл бұрын
C++ bruh its what u need
@brijeshsamal7035
@brijeshsamal7035 3 жыл бұрын
Learn it. There is no doubt that transitioning from high-level languages like Python and JavaScript to C or C++ is going to be hard, but it's always important to know what's happening "under the hood" as you say. CS50 will make C easy for you.
@prakharrastogi2336
@prakharrastogi2336 3 жыл бұрын
In cs50 I enjoyed C, Specially Pointers. Tysm.. David Malan💯
@joemcmanus3585
@joemcmanus3585 Жыл бұрын
I mean I understand the reasons for "Why C?" and I understand the coursework, the theory and can follow everything that is going on. Where C trips me up is with syntax and the IDE - project work just takes up so much time. I am really not interested in ever using C for anything ever again so inherently I have a very strong mental barrier to wanting to learn C to a level where I can write code in it. This is my main objection - I have no desire to learn how to code in C.
@vivekkoul4428
@vivekkoul4428 Жыл бұрын
I feel the purpose of CS50 is not to teach you any programming language but what are the principles behind computer science. Language is just a tool to understand those. If you know basics then you can learn any language. That's what was the intention when they created this course. Otherwise nobody will learn HTML/CSS/JSS/SQL/Python/C in a single course.
@ahmedrami8400
@ahmedrami8400 3 жыл бұрын
This looks like one of (suits) posters
@pprahul2003
@pprahul2003 Жыл бұрын
Why not Java ?
@JokhioAppsReal
@JokhioAppsReal Жыл бұрын
WE WOULD LIKE IT MORE IF IT WAS VIDEO
@mikatu
@mikatu Жыл бұрын
Imagine a pilot, learning how to drive a race car, is going how to ride horses..... yep, you are learning how to ride horses as kind of "you need to know how horses work, because cars are faster".... stop with that c crap!! keep it as a side-quest if you need, but scrap it from the main course.
@ua2894
@ua2894 10 ай бұрын
Moving away from php is always the righ decision.
@Aamnah
@Aamnah 3 жыл бұрын
pedagogical?
@KouCain
@KouCain 3 жыл бұрын
I think it's similar to the word "academically"
@ElixirOfEuphoria
@ElixirOfEuphoria 3 жыл бұрын
New word for me too, adjective defined as 'related to teaching'
@nataliehill5899
@nataliehill5899 2 жыл бұрын
php documentation is way more pleasant to read compared to python documentation in my view.
@srinivasams9323
@srinivasams9323 3 жыл бұрын
one advantage i had with c was i learnt ten touch typing with c writing so many codes made me familiar with keyboard
@Aemilindore
@Aemilindore 4 жыл бұрын
Real men & women know proper C. They also know python. But they learnt C first.
@rajab4187
@rajab4187 4 жыл бұрын
C++ that's what my uni started
@Aemilindore
@Aemilindore 4 жыл бұрын
@@rajab4187 C++ is lovely too.
@billygruff6541
@billygruff6541 4 жыл бұрын
lol "real men"
@Aemilindore
@Aemilindore 3 жыл бұрын
@@amalldekan1432 or we could follow Ben Eaters KZbin channel, build a breadboard CPU and build out instruction set and build our compiler and be super men & women
@brijeshsamal7035
@brijeshsamal7035 3 жыл бұрын
@@amalldekan1432 I myself prefer C to JavaScript(having used both languages, but not at any advanced level), however, I cannot deny that using shit to describe JavaScript is indeed not a good choice. JavaScript is used very much today almost everywhere and node.js and react allow JavaScript to do brilliant stuff.
@thewolfofswingthat2035
@thewolfofswingthat2035 2 жыл бұрын
nice forehead
@jonathanmessina4715
@jonathanmessina4715 Жыл бұрын
Javascript or python could get you a job faster, but your understanding of what's really happening would be inferior.
@yassineinsta7731
@yassineinsta7731 2 жыл бұрын
c# is bad lang
Why C is so Influential - Computerphile
10:50
Computerphile
Рет қаралды 1,9 МЛН
Computer Scientist Answers Computer Questions From Twitter
14:27
КАРМАНЧИК 2 СЕЗОН 6 СЕРИЯ
21:57
Inter Production
Рет қаралды 411 М.
100❤️ #shorts #construction #mizumayuuki
00:18
MY💝No War🤝
Рет қаралды 20 МЛН
How I prepare to meet the brothers Mbappé.. 🙈 @KylianMbappe
00:17
Celine Dept
Рет қаралды 54 МЛН
Can I find a job after completing CS50?
9:14
Kombina
Рет қаралды 62 М.
Should you learn C++?? | Prime Reacts
20:29
ThePrimeTime
Рет қаралды 308 М.
Nuri Bilge Ceylan’s Closet Picks
4:36
criterioncollection
Рет қаралды 61 М.
Career Tips by David J. Malan from CS50
7:47
Kunal Kushwaha
Рет қаралды 240 М.
The Man Who Revolutionized Computer Science With Math
7:50
Quanta Magazine
Рет қаралды 2,8 МЛН
Comparing C to machine language
10:02
Ben Eater
Рет қаралды 5 МЛН
КАРМАНЧИК 2 СЕЗОН 6 СЕРИЯ
21:57
Inter Production
Рет қаралды 411 М.