[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: ert.png (9 KB, 600x600)
9 KB PNG
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.
>>
>>109582655
what else to start with? pascal? python?
the purpose is to teach programming, not a specific language while getting lost in its details.
>>
File: 1780318892723670.png (303 KB, 797x576)
303 KB PNG
>>109582655
Because C is bortable asseombelr
>>
>>109582655
I started with Java
>>
>>109582690
no one has ever learned programming in a course
>>
>>109582655
its a great entry point
low level enough to make you deal with the realities of computing
high level enough to avoid having to start with the creation of the world to create a coherent model
simple enough so that its not a phd-tier adventure to get to speed

and so regardless of what youre supposed to do later
its a good idea to do some c.
oh, and plenty of languages have a similar syntax
and its a good anchor point to learn asm
because you have higher level concepts to attach asm patterns to- divide to conquer, mechanical-ish learning
same reason why the jump to js is easy too
you 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 language
No 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 Rust
AI 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
>>
>>109582655
C 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.
>>
>>109582655
because there's no way around C:
all system APIs are C
all languages have C FFI
your daily unix tools are in C
reference implementations of algorithms are in C
>>
>>109582655
>why do CS courses start with the lingua franca of computer programming
it's a mystery
>>
1st print C most educational valible
>>
>>109582655
pyshit is the usual collegefag lang ime
>>
>>109582655
Just 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.
>>
>>109582655
because it start with C. duh.
>>
>>109583199
Based 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.
>>
File: 1760414978157.png (320 KB, 925x508)
320 KB PNG
>>109583651
>C for personal projects is a pain.
use tcc.exe with memory safety flag
https://desuarchive.org/g/thread/109471404
>>
>>109582655
because computer starts with a C silly anon
>>
>>109582655
>or Rust
Rust 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.
>>
>>109582655
Because 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
>>
>>109582655
Not 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 management
they teach to program a Turing machine with infinity memory
this all is waste of time
only real programming is Z80/C64 bare metal
>>
File: cringe.jpg (19 KB, 497x402)
19 KB JPG
>>109582707
>avatar poster
>>
>>109585143
What colorscheme is that?
>>
File: 1756000259340.jpg (7 KB, 214x236)
7 KB JPG
>>109582707
This is now a Retardia thread

Me retardia. You retardia. We all retardia.

ME DONT WANNA EAT MY POO POO BUT ME MUST EAT ME POOPOO I MUST EAT POO POO
>>
File: 1755984253109.jpg (3.25 MB, 4000x4000)
3.25 MB JPG
Me can into jabascribt my retardia bros
>>
>>109582655
I have a BS and MS in CS
I only had two courses in C (low level programming class and operating systems)
Everything else was python, JavaScript, and java
>>
File: images (19).jpg (26 KB, 433x709)
26 KB JPG
>>109587634
I have a BS and WTF in origami.
Me hab berl, jabascribt and jaba me amazin
>>
>>109587497
Elefan:))
>>
>>109587497
my sides
>>
>>109582655
It gives you a greater understanding of how the underlying machine works while also filtering out retards
>>
>>109582655
Should be starting with C++.
>>
>>109583467
K&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.
>>
>>109582655
because UNIX ate the world.
>>
>>109582655
My 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.
>>
>>109589330
The 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.
>>
>>109582655
Why 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.
>>
>>109589391
See this >>109582707

>>109589235
Unfortunately true.

>>109589200
No, 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
>>
File: 1723943856848690.png (112 KB, 952x911)
112 KB PNG
>>109589602
It'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.
>>
File: file.png (523 KB, 781x1066)
523 KB PNG
>>109589626
Are we talking the same book?
>>
>>109589626
Current standard is tcc.exe actually
>>
>>109589672
Yeah
>>
>>109589789
>the version of gcc where -Werror became default
cancer
>>
>>109589789
I mean, just use gcc and it works. Books are going to expire in their tech eventually
>>
File: IMG_7545.png (343 KB, 800x800)
343 KB PNG
>>109589626
Everyone 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.
>>
>>109582655
To filter the normies
>>
>>109590045
>Everyone uses C99
No, 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
>>
File: not ai.jpg (832 KB, 1376x768)
832 KB JPG
>>109591508
Why are you assuming Pascal chads are trannies?
>>
>>109589200
The 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.
>>
>>109589595
Dennis Richie never had to spend mental energy insulting another language.
>>
File: vonny.jpg (71 KB, 1242x853)
71 KB JPG
>>109589789
>>
>>109582655
So 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.
>>
>>109592816
You never got cocked.
>>
>>109589166
>how the underlying machine works
What 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.
>>
>>109582655
Because 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.
>>
>>109582655
no-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
>>
>>109582655
When 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
>>
>>109582655
Not 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.
>>
>>109596726
Used 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 Python
MIT hasnt been relevant in years. I regret wanting to go to that school. Thank god it was too expensive.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.