Why do CS courses always start with C?I checked three unis near me, also checked the curriculum of top schools in the world (some Ivy League schools, chink schools and Scandinavian unis) and even online courses and they always start with C.Why's that? I thought they'd start with maybe assembly because it's lower language, or maybe even AI or Rust to prepare the students for the future.
>>109582655what else to start with? pascal? python?the purpose is to teach programming, not a specific language while getting lost in its details.
>>109582655Because C is bortable asseombelr
>>109582655I started with Java
>>109582690no one has ever learned programming in a course
>>109582655its a great entry pointlow level enough to make you deal with the realities of computinghigh level enough to avoid having to start with the creation of the world to create a coherent modelsimple enough so that its not a phd-tier adventure to get to speedand so regardless of what youre supposed to do laterits a good idea to do some c.oh, and plenty of languages have a similar syntaxand its a good anchor point to learn asmbecause you have higher level concepts to attach asm patterns to- divide to conquer, mechanical-ish learningsame reason why the jump to js is easy tooyou dont learn from scratsh, you go "aha, thats how xyz is done in asm/java/python/rust/c++/etc..."
>Why do CS courses always start with C?They don't. Plenty start with Python. Some even start with Java, weirdly enough. But C is a rather solid choice for a first language due to the fundamentals it allows you to understand.>I thought they'd start with maybe assembly because it's lower languageNo one would teach assembly as a first language, because it's unlikely one is going to program much with it. And also, there's multiple different assembly languages.>or maybe even AI or RustAI isn't a programming language. You can prompt AI to write programs in other languages, though that's unlikely to be taught in an entry level course because you need to understand the generated language to make effective use of prompting (i.e. to make corrections as need be). Also, Rust is generally not recommended as a first language, even by Rust programmers.
>>109582655>Why do CS courses always start with C?it's a good starting point>I checked three unis near me, also checked the curriculum of top schools in the world (some Ivy League schools, chink schools and Scandinavian unis) and even online courses and they always start with C.it's a good starting point>Why's that?it's a good starting point>I thought they'd start with maybe assembly because it's lower language, or maybe even AI or Rust to prepare the students for the future.because C is a good starting point
>>109582655C is good because it forces you to deal with things like memory management and writing your own data structures.Starting with assembly is an interesting idea and I can't really think of any reasons why it wouldn't work, except that C is just more convenient to standardize around. Every computer known to man has a C99 compiler, whereas if you did assembly you would have to standardize around a particular architecture and operating system and a lot of students would need to mess around with virtual machines and emulators. Better to be pushed off for later.
>>109582655because there's no way around C:all system APIs are Call languages have C FFIyour daily unix tools are in Creference implementations of algorithms are in C
>>109582655>why do CS courses start with the lingua franca of computer programmingit's a mystery
1st print C most educational valible
>>109582655pyshit is the usual collegefag lang ime
>>109582655Just about every school that I checked out starts with Java, mine does. C comes later but before Operating Systems.
College C is easy. C for personal projects is a pain.
>>109582655because it start with C. duh.
>>109583199Based and C99 checked. The reality is: if you can't code in C, you can't program. If the world eventually runs on Redox, then it will be "if you don't know rust, you can't program", but that day is not today.
>>109583651>C for personal projects is a pain.use tcc.exe with memory safety flaghttps://desuarchive.org/g/thread/109471404
>>109582655because computer starts with a C silly anon
>>109582655>or RustRust syntax and semantics is bloated. No one has the time to waste on explaining intricacies of borrow checker masturbation and other mental illnesses. You wanna start with small language that has minimal concept overhead.
>>109582655Because while C is difficult in real world scenarios it's also quite easy in beginner ones while also exposing you to some concepts useful later on. There's a reason every nocode larper arrests their development at C
>>109582655Not every uni start with C it depends on the country and personal teacher skill. Only good uni begin with C, C will teach you low level programming and data structure by writing your own. You'll be learning what is a binary tree, a linked list by writing ones. Most uni will even teach you that good algorithm is even faster in Python that generic slop written by a C coder when they will teach the Big O notation.
>>109584846>C will teach you low level programming and data structure by writing your own. You'll be learning what is a binary tree, a linked list by writing ones.they employ malloc() is a magical S(1) shit and ignore memory managementthey teach to program a Turing machine with infinity memorythis all is waste of timeonly real programming is Z80/C64 bare metal
>>109582707>avatar poster
>>109585143What colorscheme is that?
>>109582707This is now a Retardia threadMe retardia. You retardia. We all retardia.ME DONT WANNA EAT MY POO POO BUT ME MUST EAT ME POOPOO I MUST EAT POO POO
Me can into jabascribt my retardia bros
>>109582655I have a BS and MS in CSI only had two courses in C (low level programming class and operating systems)Everything else was python, JavaScript, and java
>>109587634I have a BS and WTF in origami.Me hab berl, jabascribt and jaba me amazin
>>109587497Elefan:))
>>109587497my sides
>>109582655It gives you a greater understanding of how the underlying machine works while also filtering out retards
>>109582655Should be starting with C++.
>>109583467K&R is so accessible. I never read it despite learning C on my own, but going through it, I dont know how anyone can get confused by it.
>>109582655because UNIX ate the world.
>>109582655My college used to start with C++ but students were too dumb for it so they switched to Java in hopes of filtering out less kids. The extra noobie non CS major course used Python though.When we did get to the C++ course everyone struggled except for me due to learning it as a young teen. Otherwise I can see myself struggling.I self learned python before college and it did help me grasp concepts that the confusing C++ syntax obfuscated.I never properly learned C but I appreciate it.Assembly was just a short section of a computer architecture course for me. Some professors considered C++ just a step above that. Idk everything is whatever programming is fun I dunno just learn and enjoy.
>>109589330The same happened at my college, though you eventually have to learn it if youre going to do stuff like digital logic or computer architecture studies.
>>109582655Why not? Besides, C is sort of the lingua Franca of the computer world. Most APIs are going to be in C for compatibility, since basically everything can interface with it.
>>109589391See this >>109582707>>109589235Unfortunately true.>>109589200No, it's not. It's probably one of the of the worst programming book out there.>C is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of Pascal were to do nothing but keep the C programmers out, that in itself would be a huge reason to use Pascal.
>>109589595>It's probably one of the of the worst programming book out there.how
>>109589602It's outdated. Current standard is c23, even the first example in the book can't be compiled using some compilers. It follows what we now consider to be bad practices.
>>109589626Are we talking the same book?
>>109589626Current standard is tcc.exe actually
>>109589672Yeah
>>109589789>the version of gcc where -Werror became defaultcancer
>>109589789I mean, just use gcc and it works. Books are going to expire in their tech eventually
>>109589626Everyone uses C99 and your post proves that you have no fucking clue what you’re on about.And thank fucking god that C99 is the de facto standard. Learning C is about learning the language syntax and the imperative programming philosophy, not the endless standard metamasturbation C++ retards obsess over.
>>109582655To filter the normies
>>109590045>Everyone uses C99No, not really. A lot of folks use C11, and C99 VLAs are deprecated and embedded guys still using C89 (ANSI). And the Linux kernal use GNUC.
>>109589595>>109589595>pascal lost>lisp lost>rust will lose>you will never be a woman
>>109591508Why are you assuming Pascal chads are trannies?
>>109589200The explanations are great. The exercises are literal shit, hell-on-earth tier.C semantically is fucking easy. The hard parts are data structures and the standard library.
>>109589595Dennis Richie never had to spend mental energy insulting another language.
>>109589789
>>109582655So they can cock you in the face because cock starts with c.
Mine started with Python, and then went into Java. Never even had a class with C.
>>109592816You never got cocked.
>>109589166>how the underlying machine worksWhat machine? The abstract machine the standard targets?
Mine also started with Python. I wish I went to a school that still used Lisp or Racket, but I think they all switched to Python. I don't like using Python at all and prefer Javascript. My school is Python, Java, and JS. I don't think there is any C (lol). Nor is there an option for a programming language survey course unfortunately. Going to have to do one on my own that does some C, Ocaml, Prolog, Forth, and APL or something along those lines.
>>109582655Because C is the basis for all foreign function interfaces that allow languages to talk with each other, and the operating system. If you don't know how to make your program talk with parts of the computer outside of itself, then you are severely limited in what you can accomplish and understand about what your computer actually does.
>>109582655no-cost free compilers only exist for c.
A fuckton of software is written with C and C is more likely for a person to use that write assembly since its close to bare metal but high level
>>109583467
>>109582655When and were was C in Intro to programming standard, even MIT switched from LISP to Python. My school used Java but now I think they use Python
>>109582655Not all CS curriculums start with C.Which is a pity.C is the best language to start with.In 5 years you will either laugh at how ignorant this post is OR you will have learned nothing and think you are a genius cooder.
>>109596726Used to be standard to start with C++ but stick to the parts of C++ which are pretty much C.Then it was decided CS wasn't brown enough and that CS was too hard and that in order to produce more CS diplomas alot of universities watered down the curriculum and made it easier to graduate so...
>>109596726>even MIT switched from LISP to PythonMIT hasnt been relevant in years. I regret wanting to go to that school. Thank god it was too expensive.