What do schools have against teaching C?

You can talk about almost anything that you want to on this board.

Moderator: Moderators

User avatar
infiniteneslives
Posts: 2102
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: What do schools have against teaching C?

Post by infiniteneslives »

Espozo wrote:
infiniteneslives wrote:Maybe it's just a high school thing mostly..?
It's not. I'm taking my first semester of programming at a college (even though I'm still in high school), and we've been using Java. Hopefully C better; we've only been making really simple programs so far, but the thing practically makes itself. I don't even feel like I'm doing anything.
My first college intro to programming was Java as well. Once started taking data structures we were upgraded to C. Networking and operating systems classes continued in C. Microcontroller classes all used C after an intro to asm, but those are the only viable options for micros..
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
User avatar
thefox
Posts: 3139
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Re: What do schools have against teaching C?

Post by thefox »

Rahsennor wrote:doesn't allow you to define new ones (a typedef is just an alias)
What about struct?
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
gauauu
Posts: 729
Joined: Sat Jan 09, 2016 9:21 pm
Location: Central Illinois, USA
Contact:

Re: What do schools have against teaching C?

Post by gauauu »

infiniteneslives wrote:
Espozo wrote:
infiniteneslives wrote:Maybe it's just a high school thing mostly..?
It's not. I'm taking my first semester of programming at a college (even though I'm still in high school), and we've been using Java. Hopefully C better; we've only been making really simple programs so far, but the thing practically makes itself. I don't even feel like I'm doing anything.
My first college intro to programming was Java as well. Once started taking data structures we were upgraded to C. Networking and operating systems classes continued in C. Microcontroller classes all used C after an intro to asm, but those are the only viable options for micros..
Java and C++ were the only languages we were really taught in university (at a major university with a strong CS program), but we regularly received assignments that had to be done in other languages (particularly C). You learned it on your own or dropped the major.
User avatar
infiniteneslives
Posts: 2102
Joined: Mon Apr 04, 2011 11:49 am
Location: WhereverIparkIt, USA
Contact:

Re: What do schools have against teaching C?

Post by infiniteneslives »

gauauu wrote:Java and C++ were the only languages we were really taught in university (at a major university with a strong CS program), but we regularly received assignments that had to be done in other languages (particularly C). You learned it on your own or dropped the major.
Yeah I guess it was fairly similar for me, they didn't formally teach us C, we were taught Java, then subsequent classes expected you to be able to quickly pick up C and start putting it to work.
If you're gonna play the Game Boy, you gotta learn to play it right. -Kenny Rogers
User avatar
koitsu
Posts: 4203
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: What do schools have against teaching C?

Post by koitsu »

I don't think it's an issue of schools against teaching C, it's that back in the late 90s/early 2000s, Sun really forced (bought) their way into academia and pushed Java big time. Colleges and universities latched on, and you ended up with trash like the APCS/CSAP exams being done exclusively in Java. Microsoft has done similarly with C#.
User avatar
Sumez
Posts: 919
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: What do schools have against teaching C?

Post by Sumez »

While the commercial implications of both languages are obviously problematic, I'd say you can easily defend why these languages are absolutely optimal for teaching students the concepts of OOP patterns, since they are designed entirely around it.
C# in particular has the advantage of full integration into Visual Studio which is arguably the best programming IDE ever created, no matter what you may think of Microsoft.

Fortunately, Mono also exists if you aren't happy with relying on Microsoft's own framework. And realising this, MS themselves have gone completely open source for all recent developments in the area.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2033
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: What do schools have against teaching C?

Post by FrankenGraphics »

+ visual studio code is lightweight, portable, and has lots of independently developed extentions for anything you'd like to write.
http://www.frankengraphics.com - personal NES blog
User avatar
gauauu
Posts: 729
Joined: Sat Jan 09, 2016 9:21 pm
Location: Central Illinois, USA
Contact:

Re: What do schools have against teaching C?

Post by gauauu »

FrankenGraphics wrote:+ visual studio code is lightweight, portable, and has lots of independently developed extentions for anything you'd like to write.
And has almost nothing to do with Visual Studio itself :-)
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2033
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: What do schools have against teaching C?

Post by FrankenGraphics »

The branding of code as visual studio is admittedly confusing. I get they felt the need to piggyback on an established product. But their download links are next to each other like it was two flavours, or one lite, one premium.
http://www.frankengraphics.com - personal NES blog
Rahsennor
Posts: 476
Joined: Thu Aug 20, 2015 3:09 am

Re: What do schools have against teaching C?

Post by Rahsennor »

thefox wrote:What about struct?
Using struct for scalars (which are the largest single source of bugs in C code, for me and at least one study I can't seem to find anymore) is a pain in the posterior.

Trust me, I've tried it. :roll:
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Re: What do schools have against teaching C?

Post by Bregalad »

koitsu wrote:I don't think it's an issue of schools against teaching C, it's that back in the late 90s/early 2000s, Sun really forced (bought) their way into academia and pushed Java big time. Colleges and universities latched on, and you ended up with trash like the APCS/CSAP exams being done exclusively in Java. Microsoft has done similarly with C#.
Assuming that what you said is true, I don't see the point since both tools required to develop Java and Java itself is free, i.e. you can develop and distribute a Java application without giving a single cent to Sun. For C# however it's another story.
User avatar
Sumez
Posts: 919
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: What do schools have against teaching C?

Post by Sumez »

Bregalad wrote:For C# however it's another story.
The .NET framework, and basic versions of Visual Studio are available entirely for free.

The issue comes only if you're planning on running web services using Microsoft platforms, which is a common use for C#/.NET. That said, you get what you're paying for - MS's server software has gotten incredibly solid over the last 10-15 years.
User avatar
rainwarrior
Posts: 8062
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: What do schools have against teaching C?

Post by rainwarrior »

Bregalad wrote:
koitsu wrote:I don't think it's an issue of schools against teaching C, it's that back in the late 90s/early 2000s, Sun really forced (bought) their way into academia and pushed Java big time. Colleges and universities latched on, and you ended up with trash like the APCS/CSAP exams being done exclusively in Java. Microsoft has done similarly with C#.
Assuming that what you said is true, I don't see the point since both tools required to develop Java and Java itself is free, i.e. you can develop and distribute a Java application without giving a single cent to Sun. For C# however it's another story.
Sun definitely made some pretty heavy donations to educational institutions around here in the early 2000s. I remember we had a whole lab full of Sun Ray computers that nobody used much. I would sometimes use them just for variety's sake.

I also recall that there wasn't an open source reference for the Java VM and libraries until 2006, I think? It definitely used to be more of a proprietary thing than it is now.
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Re: What do schools have against teaching C?

Post by Bregalad »

Sumez wrote: The .NET framework, and basic versions of Visual Studio are available entirely for free.

The issue comes only if you're planning on running web services using Microsoft platforms, which is a common use for C#/.NET. That said, you get what you're paying for - MS's server software has gotten incredibly solid over the last 10-15 years.
No, you still need the non-free Windows operating system to run them.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: What do schools have against teaching C?

Post by tepples »

How is that different in practice from needing the non-free Windows operating system to run your hardware drivers? This can happen when no laptops in your local Best Buy have a penguin logo to imply that free drivers are available for the hardware, and System76 (which specializes in Linux PCs) doesn't offer any laptops in your preferred form factor. ASUS T100 still has no suspend on Linux after years.

Even if Windows is non-free as in speech, Linux is non-free as in beer because of increased hardware support cost for the manufacturer. Last I checked, the Dell XPS 13 with Windows 10 Home sold for $50 less than the same laptop with Ubuntu.
Post Reply