Will Online Learning Disrupt Programming Language Adoption? 193
theodp writes "Back in the day, getting traction for a new programming language was next to impossible. First, one needed a textbook publishing deal. Then, one needed a critical mass of CS profs across the country to convince their departments that your language was worth teaching at the university level. And after that, one still needed a critical mass of students to agree it was worth spending their time and tuition to learn your language. Which probably meant that one needed a critical mass of corporations to agree they wanted their employees to use your language. It was a tall order that took years if one was lucky, and only some languages — FORTRAN, PL/I, C, Java, and Python come to mind — managed to succeed on all of these fronts. But that was then, this is now. Whip up some online materials, and you can kiss your textbook publishing worries goodbye. Manage to convince just one of the new Super Profs at Udacity or Coursera to teach your programming language, and they can reach 160,000 students with just one free, not-for-credit course. And even if the elite Profs turn up their nose at your creation, upstarts like Khan Academy or Code Academy can also deliver staggering numbers of students in a short time. In theory, widespread adoption of a new programming language could be achieved in weeks instead of years or decades, piquing employers' interest. So, could we be on the verge of a programming language renaissance? Or will the status quo somehow manage to triumph?"
This is bunk (Score:5, Insightful)
So the only successful languages "back in the day" were those taught at "a critical mass" of universities?
Here, I'll start the list of counterexamples: COBOL and BASIC.
Re: (Score:2)
I had a lame True BASIC course, which I just skipped until the final week. The prof was nice enough to let me just turn in all the coursework and pass the final. I thought that was cool. True Basic, not so much.
I'm plowing through the python course on Udacity now, despite being pretty comfortable in python. You never know what you've been missing, and it's really well done. Working on a useful project over the whole course is good. Working at your own pace is even better. Oh, and I enjoy the little c
Re:This is bunk (Score:4, Interesting)
Re: (Score:2)
... and how exactly do you think successful languages should be driven?
Re: (Score:3)
Re:This is bunk (Score:5, Insightful)
Re: (Score:3)
Not only that, but Lisp was widely taught in universities and remained in the AI grad student backwater for decades. In fact, it wasn't until after universities decided to drop Lisp in favor of Java that it started to enjoy a renaissance, though the timing is probably coincidental.
There are a whole host of reasons companies decide to use one language over another. What's being taught in universities isn't even on the list.
Re: (Score:2)
BASIC came out of Dartmouth, but what drove it wasn't that, but the fact that just about every micro had a version of it.
Re: (Score:2)
I see three things that can drive new languages into the forefront, and none of them are Universities, which are always behind the curve or off center entirely (I still remember my courses taught in ADA. Ugh.)
These three things are:
1) A robust implementation that offers ease of use for features that have historically been tricky to use, e.g. real-time, concurrency.
2) A language home-grown in a particular ethnic region, such that the user base primarily speaks the local non-english language and educational
Re: (Score:2)
There may have been some places that taught basic, other than Dartmuth, but in the University that I went to the choices were, for a first language, FORTRAN.
For a follow on you could choose Algol-60 (pretty much, it was a local implementation) or Snobol. Assembler was also available, but not recommended...and you had to take it as an Electrical Engineering class.
OTOH, I was in the Math department. The business school might have had a class in Cobol. If so I never heard of it. Electrical Engineering was
Re: (Score:3)
Every once in a billion years, you can read Hamlet or some such from /dev/random.
Re: (Score:2)
Not really... (Score:3, Insightful)
Projects use languages, projects need employees, and employees need proven credentials. Inertia will continue to be a huge component of language selection for decades to come. Ruby is the last language to make progress without an already big tech name pushing it and it's already more than a decade old.
Comment removed (Score:4, Insightful)
Re: (Score:2)
I wish we could use all of our mod points in one big nuclear strike against a post. Secondly, I would like "Yawn" added to the list of mod choices.
Well, Firehose does have a "slownewsday" mod choice.
Re:Not really... (Score:5, Insightful)
and employees need proven credentials
That's the problem with IT. If HR did chemistry hiring like HR does IT hiring we'd hear stories about people being underqualified because they used 50 ml beakers at school instead of 75 ml beakers at $job. Or "You used 2-propanol? Sorry we only hire people who use isopropyl in that synthesis."
Re: (Score:3)
Re: (Score:3)
Except the company uses exclusively isopropyl throughout their entire chemical processing chain and switching to 2-propanol is a multi million or billion dollar effort that would take years to complete and many more years to show a return on the investment. Not to mention the environmental impact studies that would need to be performed to determine if any byproducts would harm the local environment and also testing to make sure the output did not have any adverse effects.
Using the latest and greatest process, tool, widget, language, whatever, is not always a good idea. Sometimes you should live by the motto "if it's not broke, don't fix it."
The problem isn't with a company wanting to do things a specific way, it's with the assumption that people who've done something that's very similar but not exactly the same can't adapt.
Re: (Score:3)
Ummm... Small point, but 2-propanol IS isopropyl alcohol. So, no billion dollars to make the switch.
Re:Not really... (Score:4, Insightful)
Ummm... Small point, but 2-propanol IS isopropyl alcohol. So, no billion dollars to make the switch
And therein lies the joke, I ( a non chemistry buff) can quickly Google 2-propanol and see that they are one in the same, yet a normal automated HR screening process will kick one and accept the other. Kinda sad when you have a human resources check list without humans in it hey?
Re: (Score:2)
The real problem is libraries. A language could get a critical mass of followers without ever involving those who are planning ahead for a career in business, but you've got to be able to do things.
For this reason, I give Vala a decent chance if they can ever get to a 1.0 version...and if Gnome doesn't backstab them by changing all the libraries. (This wouldn't keep Vala from using them, but would so fragment the userbase that it could never get a large enough community.)
OTOH, if you don't have access to
Re: (Score:2)
Scala does, indeed, have its fans. So do many other minor languages. I don't think one could call it a successful language, however.
For that matter, I'd be as likely to favor Clojure as Scala. But it's also a minor language with a following. Or Groovy. Note that I'm mentioning languages that can piggy-back on the Java library system. This is an important commonality. I'm unwilling to invest time or effort in them, because I don't trust Oracle, but that *is* a significant strength, unless it turns in
False premise (Score:5, Insightful)
Universities start teaching their students languages AFTER they become popular. Java was well established in industry and universities were still teaching Pascal as a first language (an excellent choice), then C. THEN they switched to teaching Java as an intro language. The students who first learned it wouldn't have had an effect on industry for another two to four years after that.
Languages get adopted by individuals, then get used in industry, THEN get taught to students.
Re: (Score:3)
My experience has been education is always a generation or two behind.
When I was a young pup, we all wrote C or pascal but the schools taught BASIC and FORTRAN
Later on we were writing in java, but the schools taught C++. I slogged thru "detil and detil C++" or something like that. Pink cover as I remember.
School taught 68hc11 assembly language, which is a great education, but poor training as supposedly everyone does microcontrollers in C, or at least the people that talk loudly do, I donno what people wh
Re: (Score:2)
Re: (Score:2)
Adopting java over what? If it's C they should stick with it at this point C is the mother of most modern programming languages. University level should not be a trade school, C teaches all the the constructs and all of the power. Java is a subset of C at best and hides a lot of complexity that a programmer needs to understand.
Re:False premise (Score:5, Insightful)
Yes. And I think it's a good thing. Universities are supposed to be about education, not training. If you want training, go to a tech school.
Universities teaching something that's not the latest hot industry language means that students will learn at least a couple of languages and hopefully in the process learn how to learn languages, rather than being a trained drone.
In undergrad I learned (officially) Pascal, C, C++, Java, Prolog, x86 assembler, Motorola assembler, a couple varieties of Motorola microcontroller assembler, VB, Perl, PHP, Javascript and a bunch of things some people might call programming languages like HTML, XML, SQL, etc. Oh, and built and programmed machines (using both wires and simulation) that ran on my own machine code and assembler definition.
Now I hear people complaining bitterly about having to learn a new language.
Re: (Score:3)
Try and get a wet behind the ears 20 something to learn x86 assembler well enough to do inline assembly optimization better than the compiler. Most cry like a stuck pig. Far to many programmers think that throwing some business logic around a pile of libraries constitutes coding.
Re: (Score:3)
Which is why we need to stop the training-ification of universities. The average code monkey probably doesn't need to know assembly, and shouldn't be forced to learn it. But computer scientists and more skilled computer related positions benefit from knowing how computers actually work.
Re: (Score:3)
Yes, and the other day I was reading that we shouldn't bother to learn algebra, because c'mon! - how often do you use it? Well, if you don't know it I'm sure you won't be using it at all, so Q.E.D.
Having at least passing familiarity with an assembler language is valuable whether you use it directly or not, because it gives you a sense of what's going on "under the hood" in CPUs, GPUs, devices, etc.
As a hiring manager, I wouldn't even look at you.
As a hiring manager, I might indeed look at you as a code monkey for simple tasks, but your obvious disinterest
Re: (Score:2)
School taught 68hc11 assembly language, which is a great education, but poor training as supposedly everyone does microcontrollers in C, or at least the people that talk loudly do, I donno what people who actually write code do.
When I learned about Microcontrollers in my EE course, we were first taught how to code in assembly language, and only later taught C. I think the idea is that the learning of assembly language can help the students to think about the inner workings of the chip (i.e. moving values into registers etc.), so teaching assembly language is a good first step before moving onto C.
Re: (Score:2)
While that's basically correct, I feel that modern assemblers are too complex. The M68000 was the last decent assembler to learn on, but even that was too much. 7094 assembler was a much better choice, but honestly, probably the best choice is MIXX. Or possibly Parrot.
Remember, you aren't learning the assembler to write productive programs, you're learning it to learn how the mechanics works, and to get an idea of efficiencies. For that simpler languages have real advantages. MIXX has the additional v
Re: (Score:3)
In graduate departments though programming languages are adopted before becoming popular, even with minimal documentation or user base. Many programming languages even come from such environments.
Re: (Score:3)
Sure. But not because they're taught. Like my first day of grad school when my supervisor told me "I heard about this language called Python. It sounds cool. You should learn it and then teach the rest of us."
Re: (Score:2)
Universities start teaching their students languages AFTER they become popular. Java was well established in industry and universities were still teaching Pascal as a first language (an excellent choice), then C. THEN they switched to teaching Java as an intro language. The students who first learned it wouldn't have had an effect on industry for another two to four years after that.
Languages get adopted by individuals, then get used in industry, THEN get taught to students.
As someone that took CS 101 in '98, I should tell you that Java was the language taught Freshman year. I only stuck with CS for about 2-3 semesters (they were electives FYI :) -- but I'm still programming for work and leisure. Anyway, Java may have been "popular" but it was still 1.0-1.1 before Swing came out, and by that, and hindsight, I mean it was a total mess of shit that you couldn't get real work done in.
I still have nightmares about how I spent HOURS trying to figure out that a "deprecated" warnin
Re: (Score:2)
That's around the time a few universities were switching over, but the vast majority didn't jump the Pascal ship until a few years later.
Re: (Score:2)
I'm sorry this is a little of-topic, but one of these days, someone is going to have to explain to me why Pascal is such a great first language. In my experience, it's far too strict (strongly typed, rigid structures, etc) for beginners. On top of that, it's not nearly powerful enough for experts. Why it caught on, at all, is completely beyond me.
Personally, I think BASIC was a far better beginner's language. You only had to wo
They don't teach languages (Score:5, Insightful)
Universities do not and should not be teaching programming languages. They teach programming, the general practice. They teach the theory behind programming. They teach math. And they may teach "Programming Languages" as the study of the languages themselves with examples of real languages. But they don't teach "Python 101" or "Introduction to Haskell." A CS student is expected to be able to pick up whatever language needed given instruction in that general type of language (broadly imperative, function, and logical). A given professor may require a specific language because it's convenient to have everyone working in the same language and easier to grade that way, but that need not be what the text uses for the same topics. Indeed, the majority of texts use pseudocode that isn't in any "real" programming language.
Re:They don't teach languages (Score:5, Insightful)
Okay, let me temper that a little. Universities do offer instruction in specific languages. But that is generally introductory in nature. Learning a language is not the objective.
Re: (Score:2)
I still say "whatnot" and whatnot.
Re: (Score:2)
"Ya you basically learn two throw away languages, but then can learn two useful languages withount too much trouble."
Apparently their policy is also to not teach a specific language like English, eh?
Re:They don't teach languages (Score:4, Insightful)
Good luck on that. Programming has become very fashion conscious in the last decade or two. Programmers have also become more technician like in that they want high demand skills only that get them a short term job quickly.
Re: (Score:3, Insightful)
It's almost like that except they teach data structures, object-oriented programming, and other idioms that are useful to both academics and industry. They don't exactly teach you "programming languages" except maybe when you're taking compilers, and in that case it's more than the language itself, it's how to design, gramatically specify, and "compile" one language into another language (I'm taking educated guesses, I haven't taken the course but I've studied gcc).
You can't teach anything with a hypothetic
Re: (Score:2)
English implements all sorts of biases, trade offs, and lacks features of other languages (gender, tone, irregular verbs, and many more).
In natural languages, gender is a bug, not a feature. More to remember, and zero (or negative) net expressive power added.
Re: (Score:3)
Whether gender in natural languages is a bug or a feature depends on context. In many traditional contexts it's a feature. In others it acts to reduce the error rate of a noisy signal. But there are times when it just increases the amount of information that must be transmitted, without increasing the amount of useful information. In that case it's a bug.
And also remember that the information that others deem significant in a particular context may not match that which you deem significant. So you may
Re:They don't teach languages (Score:5, Insightful)
This is what I don't think the "you don't need a degree" crowd gets. University instruction is teaching how to be a good programmer, not how to write code. If you think college was worthless because you didn't learn the DirectX API, consider that your university experience should have been about everything that happens before the first character of code is typed; and then some.
Re: (Score:3)
University instruction is teaching how to be a good programmer
When many of us have met countless folks with CS degrees who are horrible programmers. And don't misconstrue what I'm saying here, the foundations and theory are extremely important, I am not speaking of them with any form of sarcasm. Those who do have great comprehension of theory are all the best developers I've known.
Re: (Score:2)
Re: (Score:3)
True story: a friend of mine was pursuing his PHD in CS. During that time he was a TA in an object oriented programming course. He was responsible for grading lab-work (done in Java) and was telling me about various assignments he would have to mark. He told me that many of these students would find rather creative ways to complete the assignment without using any object oriented principles what-so-ever. What he was handed was akin to scripts inside a single main() method.
The punchline is: when he graded th
Re: (Score:2)
Re: (Score:2)
I don't even know if that is true. Of course, I took CS courses something like 15 years ago, but back then you didn't really even learn to program, you mostly learned what went into making computers work. Good coding practices or even solving issues with coding itself wasn't even really the point. You learned how computers might solve the problems, and you might then translate the solution into code using the coding language of the professor's choice.
In 4 years, I ended up having to use Pascal, C, Java a
Re: (Score:2)
I completely agree with this. When I went to school we were introduced a topic and a language to demonstrate the topic. The purpose of the course was to teach programming concepts, not languages. I can still remember some of my course titles (Structured Programming with Pascal, Data Structures with Pascal, Systems Programming with C, Object Orientation with C++, GUI Programming with Delphi, AI Programming with Lisp and Prolog, and so on). The languages weren't always ideal for the course (Smalltalk woul
Re: (Score:2)
Universities do not and should not be teaching foreign languages. They teach reading, the general practice. They teach the theory behind writing. They teach grammar. But they don't teach "French" or "German".... oh wait, no, the opposite is true, I wonder why that is?
Re: (Score:2)
Yeah, they told me even in CS 1 that we were only using C++ because they had to use 1 language so that everybody could use the same book and have equivalent grades. We were also told to try everything out in other languages on our own time if we could.
Now in online classes I get stuck using python. Survivable.
If you get pseudocode you're lucky.
Re: (Score:2)
You can learn "neophyte scripter" level python (and most other languages) inside ten minutes on your own if you already have a language and basic programming course under your belt.
Re: (Score:2)
It's far better to teach someone, even a biologist, basic concepts and then point them towards a {$PROGRAMMING_LANGUAGE} tutorial or text than it is to teach them a particular language. I teach a Programming for Science Graduate Students (mostly neuroscience) class that does just that. I strongly encourage them to check out Python, but lots of them end up using MatLab.
Re: (Score:3)
I am an electrical engineer. I learned C++ in a single course in college (my only CS course), but I later "taught" myself Java (or just enough Java to get the job done, and haven't needed it since). It is true that the fundamental skills in programming are understanding what instructions you are tying to give to the machine, avoiding typos, and debugging your code when it doesn't work. The basic premises don't change much, such as IF-THEN statements or calling out subroutines. A key skill is to define w
Re: (Score:2)
In theory, you should be able to give your flow chart or psuedocode to any programmer of just about any language and they should be able to write the code for you - or vice versa if someone gives you psuedocode you should be able to code in the language you use.
please show me a flow chart for a kernal, or a modern 3d game engine complete with ai.
now write it in basic...
There's no easy way to fame and fortune (Score:2)
Don't count on it. Most people are like me in selecting a course. They want relevant skills. If a course that might otherwise tickle my fancy requires learning B+- or Anchovy_Paste.net I'll keep looking. There's a lot of selection out there now and I have little time for picking up languages on speculation.
bullcocky (Score:3)
Yeah, like nobody ever learned LISP, PASCAL, BASIC, Eiffel, Erlang, Haskell, LOGO, or Scheme before there was an internet... Plenty of languages have flourished in academia without having broad industry support. Some exist primarily as teaching languages, others are most appropriate for domains where there's not a lot of practical economic application yet.
The Resurgence of Lisp Is At Hand (Score:5, Funny)
Re:The Resurgence of Lisp Is At Hand (Score:4, Funny)
For Fuck's Sake (Score:3, Interesting)
For fucks sake, stop with the thinly veiled advertising. We're talking about a huge penetration of languages like C, C++, Java and Perl and the like which are still going to require people capable of coding in them. This fucking online Khan Academy crap isn't going to change that, and I'll wager you dollars to donuts the whole fucking thing will collapse under the weight of insanely over-hyped promises and gimmicks.
Re:For &#$@'s Sake (Score:4, Insightful)
Non programmers need to understand that the language isn't the problem. Certain autistic persons have issues formulating sentences to communicate properly to those that are well versed in communication. It doesn't matter if they learn 10 languages, if they can't convey their thoughts in one language, they aren't going to do it in another language.
Likewise, with programming, if you can't speak the language of logic, then you can't program. If you can't have the forethought to see holes in logic, then you can't program. Sure, you can write up some stuff that works. But it still isn't coherent in the grand scheme of things. The government, Universities, and corporate management seem to be stuck thinking that we just need more people that know certain programming languages.
When will they learn that programming is a shift in the thought process that a large segment of our population just can't make? Or they won't make unless we start teaching people to be logical and non-ambiguous in life...
Re: (Score:2)
When will they learn that programming is a shi&t in the tho#ght process that a large segment o& o#r pop#lation j#st can't ma@e??
Most people can realize what can be automated. That's why most people don't like repetitive tasks, that they know could be automated. That's how a lot of so called progress has happened.
but you're forgetting that most things don't need to be perfect to work. if an automatic sorting machine just does an OK job that might be enough, considering that a human might not be able to do any better judging if some apple is red enough or not. That's a problem case where there is no definite logic on what's passable.
Re: (Score:2)
Re: (Score:2)
"Most people can realize what can be automated. That's why most people don't like repetitive tasks, that they know could be automated. That's how a lot of so called progress has happened."
My experience is exactly the opposite. When I'm in an intro computer course and say, "If you ever find yourself doing a repetitive task on a computer, then you're using it wrong; try to find a hotkey, or a script, or a batch process, or think if you can program something to do it instead", they look at me like I have two h
Not the way it was (Score:3)
"getting traction for a new programming language was next to impossible. First, one needed a textbook publishing deal. Then, one needed a critical mass of CS profs across the country to convince their departments that your language was worth teaching at the university level. And after that, one still needed a critical mass of students to agree it was worth spending their time and tuition to learn your language."
That is not the way it was. I've been programming professionally since the 1970's. We didn't go to school to learn a programming language. If you took classes it was to learn techniques and concepts. Picking up a new language is a trivial thing. Taking a course on a language does not make you a programmer. Language is merely a way to communicate with the computer. New languages and development environments come and go. Good programmers persist and pickup new languages easily to do the tasks needed.
Betteridge's Law (Score:4, Insightful)
http://en.wikipedia.org/wiki/Betteridge's_Law_of_Headlines [wikipedia.org]
So, no.
Nobody will learn a new language unless it offers a big advantage over the existing popular languages. In the last 2 decades, that has meant having a particularly useful library or framework (such as CGI for Perl or Rails for Ruby). Why else would anybody invest the time. New languages are a dime a dozen (actually, that's too generous).
Re: (Score:3)
I'd add new paradigms as a third reason. OO seems to have driven a lot of language choice. I'm betting functional is going to make a splash in the future; after all you can't spell functional without "fun". Either that or massive parallelism is going to force Erlang down our throats like it or not.
Re: (Score:2)
Have you programmed in a functional language? The things are like magic. When you get something working it's amazing, but getting there is a test of your worthiness.
Re: (Score:2)
If a new paradigm doesn't hurt, you're doing it wrong. I admit that years ago when I was just starting ruby my code looked a whole hell of a lot like perl, because I was doin it wrong. I'm old enough to remember the annoying switch to, and then mostly away from, OO.
I think the opposite is true (Score:2)
Nobody will learn a new language unless it offers a big advantage over the existing popular languages.
I don't think that's true. It just has to be different enough.
The thing is after you use a language for a while you know it's flaws. It's at that juncture that some other language can come along and capture your fancy, all it has to do is address those flaws you find most annoying in a saner way.
The frameworks are kind of a precondition these days though, if you try to work a string over and encounter pai
Re: (Score:2)
Come on dude, this gets posted to EVERY SINGLE "ask slashdot" THREAD.
It's just redundant at this point. Then I see you added some verbs to make your post a little more than a link to wikipedia...doesn't cut it.
Students or bots? (Score:2)
With Facebook seemingly half-populated by bots, are these numbers thrown around by these "online universities" really a reliable source? And how many "certified" IT people have you dealt with who were totally clueless?
It's the tools, stupid (Score:2)
Coming up with a new language and teaching it to people is a fun exercise, but unless there's proper tools (IDE, build system, support libraries, binding generators, etc.) then forget it.
Professional programmers don't bother with toy languages unless they're just screwing around.
Re: (Score:2)
Real programmers have emacs and can tackle any language.
Language agnostic (Score:3)
The second tier stuff if most useful for RAD. That is visual basic, python, perl, PHP, Ruby. These are mostly scripting languages, and require a slightly different approach. The solution is defined in terms of the capability of the language and the available scripts. This is particularly true with Ruby. These are languages that meet specific requirements for specific purposes. For instance PHP and Ruby are what uses to write a website. Python is quite popular for home grown science applications.
Which is to say that anyone trying to promote a language because it is what they know rather than because it is what is used to solve a particular problem is like a person trying to get their boss to buy a lather for the server room because they really need a lathe for home projects. I would not try to script a website with C. I would not try write a data analysis program in assembly. The computers are simply too fast and we have had 40 years of development of tool that means we do not need to spend a quarter and a million dollars rewriting a GUI. This has always been true. In the 80's we used fortran for number crunching because that was the only language supported by IMSL. We used C for everything else because it ran on everything else.
So online learning is only going to teach students how to use useless tools. Yes I would like to teach people how to use Forth, but what is the point? We can teach students how use Shakespeare, and it would teach them techniques they need to know and would be very motivating for certain students, but where would they use it? Once a student is proficient at programming, and understand the basic concept, time needs to be spent on learning how to to efficiently acquire API knowledge
C is not the simplest (Score:2)
C is by far the simplest fo these, but also the most basic
Any language that you have to manage memory in is inherently less simple to learn ( to a starting point) than a language where you do not have to think about memory management.
Re: (Score:2)
C is by far the simplest fo these, but also the most basic
Any language that you have to manage memory in is inherently less simple to learn ( to a starting point) than a language where you do not have to think about memory management.
These days almost nobody manages memory in C, they use libraries that handle that.
Re: (Score:2)
You seem to have forgotten how hard OOP is to learn.
These days most plain C is done using OOP by convention with the first argument as the receiver. Once you have that all you have to do is split up the code as if it was classes.
Re: (Score:2)
I can do memory management just fine. But is it really the first thing you should learn? If so, were we not all tainted by starting with BASIC so very long ago?
It is not a big deal at debug time to insure that your allocations and deallocations are kosher
The goal is never to BE in "Debug Time". ANd actually yes, yes it is a huge deal for new programmers to get that right.
Let them learn the rest or programming, Algorithms and other truly important things - compiler design and lower level considerations c
Re: (Score:2)
Yes I would like to teach people how to use Forth, but what is the point?
A colleague of mine once tried to teach several of us Forth. And Prolog. Why did he do it? Because they interested him. Why did we do it? Because it interested us.
What a load of ignorant bullcrap (Score:5, Insightful)
"Back in the day, getting traction for a new programming language was next to impossible. First, one needed a textbook publishing deal.
Yeah, because COBOL and FORTRAN only took off after a mass of publishers got on it. Riiiiight.
Then, one needed a critical mass of CS profs across the country to convince their departments that your language was worth teaching at the university level.
Counter example: COBOL, FORTRAN, C, Java (the later two only took off after the industry was using them a plenty.)
And after that, one still needed a critical mass of students to agree it was worth spending their time and tuition to learn your language. Which probably meant that one needed a critical mass of corporations to agree they wanted their employees to use your language.
Where the hell do you get this stuff. Are you still in school or something?
It was a tall order that took years if one was lucky, and only some languages — FORTRAN, PL/I, C, Java, and Python come to mind — managed to succeed on all of these fronts.
FORTRAN took off because it was the best thing at the time for programming (much better than COBOL.) Java took off without the need of publishers or academia. It was simply taken by the industry. Python hasn't taken off (I love the language, but its usage is nowhere near Java or C#.)
But that was then, this is now.
You don't know what was "then". I doubt you know what it is "now".
Whip up some online materials, and you can kiss your textbook publishing worries goodbye.
What does this even mean?
Manage to convince just one of the new Super Profs at Udacity or Coursera to teach your programming language, and they can reach 160,000 students with just one free, not-for-credit course.
Yeah, because it will be as easy as it was before, right, right, right? Let's build a pyramid of hypotheticals!!!!
And even if the elite Profs turn up their nose at your creation, upstarts like Khan Academy or Code Academy can also deliver staggering numbers of students in a short time.
Yeah, because if up-start elite professors at Udacity or Coursera turn up their noses at your pet project, Khan will surely pick it up. Khan!!!!!!!!
In theory, widespread adoption of a new programming language could be achieved in weeks instead of years or decades, piquing employers' interest.
Because business rely in internet popularity and nothing when investing in effective technology.
So, could we be on the verge of a programming language renaissance?
I didn't know where were in a programming language dark age.
Or will the status quo somehow manage to triumph?"
Somehow this reminds me of Dora the Explorer when she stares at the audience waiting for an answer.
Re: (Score:2)
Somehow this reminds me of Dora the Explorer when she stares at the audience waiting for an answer.
I wish I had moderator points right now just for this comment. +2 hilarious.
+1 insightful for the post as a whole.
Re: (Score:2)
Brilliant. Now I remember why I still read the comments.
I Hope Not (Score:3)
Lot's of IT work should not be at university level (Score:2)
Lot's of IT work should not be at university level.
First off help-desk / desktop / system admin is not CS
2rd lot of IT stuff needs learning / training at the tech school level / trades level.
3rd 4 years pure class room is way to long to get in to the field and comes with the full load of fluff and filler that comes with a university schooling.
4rd IT has alot of on going education that does not if the university time table.
5rd Tech schools seem to try to jam the university framing of degrees in to there plan
How are we not already in the renaissance? (Score:3)
Good grief man! One of the more popular languages around these days is Objective-C! Would you have thought THAT possible ten years ago?
Look at StackOverflow, brimming with questions about Ruby or Python or PHP or Scala.
Look at alternative databases in wide use today that do not use SQL.
Your renaissance has already arrived, any language that has some good practical use does not need a course to gain adoption, just a tag in StackOverflow and a handful of fervent believers to evangelize the use of it.
On a side note, it's depressing the number of dour replies you got right out of the gate. There was a time where futurists were a healthy part of Slashdot, now we are scored and ridiculed. It hardly matters though since we are generally right in the end, so keep the spirits up.
Impossible to introduce a new procedural language (Score:2)
Quickly learned and quickly forgotten (Score:2)
Most of those languages will wither on the vine as there is no widespread support for them, no major pieces of software written in them and the skills base is so dilute (10 million "users" spread across 7 billion people? sounds like homeopathic programming - even if they are all connected on the internet) that it's in no employers interests to invest in it.
The languages that are successful
Education is irrelevant for language adoption (Score:2)
People learn French because people speak French in France.
For programming langauges it's the same.
Programming languages become popular when they come attached to something else that is already popular---and for reasons independent of programming languages. In a nutshell, connecting to operating system facilities which are connected to popular hardware.
If Apple iPhones were programmed in object COBOL, the language would be popular. And after all, few people used Objective-C outside NeXTSTEP/MacOS/iOS. If A
Why do we need a renaissance? (Score:2)
Seriously. Considering the amount of bitching, griping, moaning and whining I've seen about businesses failing to move to new operating systems and carrying around large amounts of legacy code, it doesn't appear that there's a pent-up demand for brand-new languages. The OP seems to be operating under the assumption that "if you build it, they will come" when it comes to programming languages, but the real world seems to be of a different opinion.
"Or will the status quo somehow triumph?" (Score:2)
We can only hope. Aren't we already getting a language a week, some FORTRAN with capricious syntax changes, others FORTRAN with horrific kluges grafted on? (actually, all with capricious syntax changes).
What would help? (Score:2)
I don't know. Maybe if there were some languages that broke new ground in terms of data abstractions, control flow, basic concepts of how to program, etc., there might be some reason to adopt them.
The last twenty years of language design has simply been a rehash of the twenty years before that. There hasn't been anything interesting out of the programming language world since CLOS and its multi-methods and MOP back in the early eighties. Maybe Erlang's process model from the mid-eighties. And the academic p
Re: (Score:2)
If you are bored look at Haskell. There have been tremendous numbers of new ideas well beyond what was in Common LISP. Monadic methods for example.
so many languages, so little time... (Score:2)
...one still needed a critical mass of students to agree it was worth spending their time [and tuition] to learn your language.
Okay, we can remove all barriers except this one. How can you convince a critical mass of people to agree that it is worth spending their time to learn your language? Investing time is really more critical than all the others put together.
Why don't a critical mass of people to spend time learning Tuvan throat singing? Because they aren't interested and/or they don't think it's worth their time. Why do many people spend their time learning english? Because they perceive that is is worth their time.
This
the problem (Score:2)
If the lack of death of the relational database compared to better alternatives is any indication, people are simply stuck in their old habits, and no more so than corporations. Of course, corporations want to know their technology will be supportable in decades to come too.
Do we actually need a renaissance in new programming languages? We've got already a ton of interesting ones which have never been widely used. Scheme, Erlang, Haskell, Sather, and who knows how many more. When we start seeing these widel
Book (Score:2)
I beg to disagree.
First, because never was that easy to publish a book. On Amazon and Lulu, one can just submit pretty much anything and sell, no matter how crap it is. On more traditional publishers, people like Versita and De Gruyter has options for publishing peer-reviewed, high-quality books, essentially for free (taking the payments from the sales, instead of the author in advance). On Versita, one can even let the books be accessed for free for the PDFs, while a printed copy would cost.
Second, because
Re: (Score:2)
I'd say python, or any untyped language, is a pretty lousy choice to teach programming.