Object-oriented programming is eliminated entirely from the introductory curriculum, because it is both anti-modular and anti-parallel by its very nature, and hence unsuitable for a modern CS curriculum.
It's all about complexity management and certain problems cry for certain solutions. Depending on how you slice and dice cores, a pipeline of objects may make perfect sense.
Obviously different problems tend towards different solutions.
It isn't like an embedded system with a bunch of processors, often different designs, will end up similar in construction to a complex acting GUI.
Honestly, the primary difference I've seen all these years is not the addition of new languages or practices, but is widespread adoption of prewritten libraries, whether commercial or free.
It better have a goddamned good compiler. Most of the products I've ever worked on did lots and lots of computation with strict realtime constraints.
I'm not saying that a language like Erlang, when used in anger, wouldn't teach me something, but I'd hate to be trading one set of problems for another.
Obviously different problems tend towards different solutions.
It isn't like an embedded system with a bunch of processors, often different designs, will end up similar in construction to a complex acting GUI.
Honestly, the primary difference I've seen all these years is not the addition of new languages or practices, but is widespread adoption of prewritten libraries, whether commercial or free.
I don't see why skepticism about OOP implies one-size-fits-all thinking. Even if they were insisting on FP (they have a similar course on imperative programming), FP is hardly implies a monolithic programming style. Moreover, FP is already being used on a range of systems, from data centers to embedded systems.
Posted 6/23/2012 4:29 pm
people who have only worked in academia don't understand why OOP is something people should learn
you don't learn it as a "programming paradigm". you learn it to try and organize code so it isn't a fucking mess.
for example, if you have a bunch of math functions, you don't put them all over your fucking code in different places. You create one place called math or a math library and stick them all in there.
OOP helps you do this. All the other OOP shit is basically a total waste.
C++ is total garbage.
C# and Java are much better than C not because they are OOP but because they do garbage collection and get rid of pointers. This keeps your program from crashing and keep it from leaking memory, two of the biggest problems in C. Those are their two real big advantages over C.
Functional programming makes parallelism much easier but at the expense of the programming not know what the fuck the actual processor and network traffic are. You can write a 10 line program in any functional language that blows out your network traffic, memory and CPU all at once because as a programmer, you don't see all that shit happens when you make those few calls.
C is showing you what the CPU does. C# and Java also do to a lesser extent but they are much, much closer than any functional language.
just use map/reduce with C# or Java and forget erlang and all that fucking garbage.
Your own website uses WordPress, which is largely written in object-oriented PHP (yes, it actually uses the OO features of PHP). If functional languages are so great, why is your own website not written in one?
This is just totally ridiculous. Have you ever even read Code Complete?
people who have only worked in academia don't understand why OOP is something people should learn
you don't learn it as a "programming paradigm". you learn it to try and organize code so it isn't a fucking mess.
for example, if you have a bunch of math functions, you don't put them all over your fucking code in different places. You create one place called math or a math library and stick them all in there.
OOP helps you do this. All the other OOP shit is basically a total waste.
C++ is total garbage.
C# and Java are much better than C not because they are OOP but because they do garbage collection and get rid of pointers. This keeps your program from crashing and keep it from leaking memory, two of the biggest problems in C. Those are their two real big advantages over C.
Functional programming makes parallelism much easier but at the expense of the programming not know what the fuck the actual processor and network traffic are. You can write a 10 line program in any functional language that blows out your network traffic, memory and CPU all at once because as a programmer, you don't see all that shit happens when you make those few calls.
C is showing you what the CPU does. C# and Java also do to a lesser extent but they are much, much closer than any functional language.
just use map/reduce with C# or Java and forget erlang and all that fucking garbage.
Your own website uses WordPress, which is largely written in object-oriented PHP (yes, it actually uses the OO features of PHP). If functional languages are so great, why is your own website not written in one?
This is just totally ridiculous. Have you ever even read Code Complete?
I can imagine that guy standing up in CS class and yelling...
This is garbage. Have you even read Code Complete?
\
people who have only worked in academia don't understand why OOP is something people should learn
you don't learn it as a "programming paradigm". you learn it to try and organize code so it isn't a fucking mess.
for example, if you have a bunch of math functions, you don't put them all over your fucking code in different places. You create one place called math or a math library and stick them all in there.
OOP helps you do this. All the other OOP shit is basically a total waste.
C++ is total garbage.
C# and Java are much better than C not because they are OOP but because they do garbage collection and get rid of pointers. This keeps your program from crashing and keep it from leaking memory, two of the biggest problems in C. Those are their two real big advantages over C.
Functional programming makes parallelism much easier but at the expense of the programming not know what the fuck the actual processor and network traffic are. You can write a 10 line program in any functional language that blows out your network traffic, memory and CPU all at once because as a programmer, you don't see all that shit happens when you make those few calls.
C is showing you what the CPU does. C# and Java also do to a lesser extent but they are much, much closer than any functional language.
just use map/reduce with C# or Java and forget erlang and all that fucking garbage.
FP languages have libraries (wtf?). The type system is the correct way to do modularity. FP languages free you up from memory management, pointers, etc. You can optimise FP languages to the hardware just like an imperative language; the knowledge needed is just somewhat different.
people who have only worked in academia don't understand why OOP is something people should learn
you don't learn it as a "programming paradigm". you learn it to try and organize code so it isn't a fucking mess.
for example, if you have a bunch of math functions, you don't put them all over your fucking code in different places. You create one place called math or a math library and stick them all in there.
OOP helps you do this. All the other OOP shit is basically a total waste.
C++ is total garbage.
C# and Java are much better than C not because they are OOP but because they do garbage collection and get rid of pointers. This keeps your program from crashing and keep it from leaking memory, two of the biggest problems in C. Those are their two real big advantages over C.
Functional programming makes parallelism much easier but at the expense of the programming not know what the fuck the actual processor and network traffic are. You can write a 10 line program in any functional language that blows out your network traffic, memory and CPU all at once because as a programmer, you don't see all that shit happens when you make those few calls.
C is showing you what the CPU does. C# and Java also do to a lesser extent but they are much, much closer than any functional language.
just use map/reduce with C# or Java and forget erlang and all that fucking garbage.
Geewhiz, sam, I sure hope this airplane doesn't crash when my autopilot is "garbage collecting" at 200ft agl...