Slashdot Mirror


Will Online Learning Disrupt Programming Language Adoption?

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?"

193 comments

  1. This is bunk by Anonymous Coward · · 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.

    1. Re:This is bunk by Anonymous Coward · · Score: 0

      PHP

    2. Re:This is bunk by SomePgmr · · Score: 1

      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 cameos by Sergey Brin.

    3. Re:This is bunk by Anonymous Coward · · Score: 0

      Calling COBOL and BASIC languages is like calling /dev/random literature.

    4. Re:This is bunk by Anonymous Coward · · Score: 0

      BASIC was developed at Dartmouth college, I believe by the Math department. Most languages "back in the day" were University or research projects. COBOL was a corporate research project.

      http://en.wikipedia.org/wiki/BASIC

      I find it neat that the OP gives Internet access as a way to break down barriers. Yet, it's still hard to get people to check facts.

    5. Re:This is bunk by moderatorrater · · Score: 3, Interesting

      Python. That's a language that's being driven by developer adoption, not businesses or schools. Using it as an example of traditional success is ridiculous.

    6. Re:This is bunk by Anonymous Coward · · Score: 1

      Or C++.

      If universities could kill languages, they would have killed C, and even more C++. Professors at that time were looking at Pascal, Lisp, or Smalltalk as the languages forward. The braces were considered ugly and unreadable. It was industry that pushed C++ forward. The academic community finally gave up when that was the only thing left available.
      Then as soon as Java came out, they ditched C++ as inferior.

    7. Re:This is bunk by Anonymous Coward · · Score: 0

      Yes, BASIC was developed at Dartmouth, but it was never widely taught by universities.

    8. Re:This is bunk by SQLGuru · · Score: 2

      Every once in a billion years, you can read Hamlet or some such from /dev/random.

    9. Re:This is bunk by tsotha · · Score: 2

      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.

    10. Re:This is bunk by Nerdfest · · Score: 1

      ... and how exactly do you think successful languages should be driven?

    11. Re:This is bunk by jhoegl · · Score: 2

      In a car.... with a robot at the wheel.

    12. Re:This is bunk by mimicoctopus · · Score: 0

      I was going to say the same thing. This is already happening with the Internet now. This article ought to have been written around 2000. The thing is, this is more of a programming language dark-age than renaissance. Lots of different low-quality languages that exist to either allow poor programming practices or perform vendor lock-in. Why should I have to use Objective C, Java, PHP, and C# for one simple project?

    13. Re:This is bunk by moderatorrater · · Score: 4, Insightful

      Just like that. The summary was saying that its success came from a critical mass of universities teaching it, which is just wrong.

    14. Re:This is bunk by Anonymous Coward · · Score: 0

      While BASIC was never widely taught at universities the language allowed complete novices to learn the basics of computer programming without the usual overhead of edit, compile, run sequence. BASIC is the programming language most of us cut our software development teeth at home and maybe for the lucky few back in the day in high school. These days Python has usurped BASIC as the introductory language of choice though I remain convince that SmallTalk is a superior introductory language for computer science students and even high school students for a taught curriculum.

    15. Re:This is bunk by stanlyb · · Score: 1

      Perl, Python....script, any script language..

    16. Re:This is bunk by Anonymous Coward · · Score: 0

      Actually, back in the 1970s, COBOL and Basic were frequently taught in universities. There was certainly a "critical mass" of universities teaching these languages.

    17. Re:This is bunk by Anonymous Coward · · Score: 0

      I remember in grade school I used to copy simple BASIC programs out of my older brother's math textbooks.
      Using those as starting points I used to make small programs and simple games.
      I learned about syntax and the concept of structured programming from BASIC. Most importantly of all:
      It started my life-long love affair with copying example code and tweaking it until it does what I want it to do.

    18. Re:This is bunk by russotto · · Score: 1

      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.

    19. Re:This is bunk by skids · · Score: 1

      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 materials are honed to local learning styles, which then spreads outside that region in enough products to become popular, e.g. Lua.
      3) Being lucky enough to be the language that a long-standing "killer app" is written in, deriving popularity from the popularity of hacking on the app.

    20. Re:This is bunk by HiThere · · Score: 1

      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 strictly a FORTRAN school, except that they had a single class in assembler, and several classes that required it.

      Nobody (as in no department) taught Basic.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    21. Re:This is bunk by Anonymous Coward · · Score: 0

      Although it is worth noting that Python has become an intro course for at least one large university (it's the required introductory course for all CS majors at Michigan State)

    22. Re:This is bunk by Anonymous Coward · · Score: 0

      Of course...it was only languages like Lisp and Pascal that had heavy academic adoption that became successful commercially.

    23. Re:This is bunk by Anonymous Coward · · Score: 0

      They did not ditched C++ as inferior, they adopted Java as easier for teaching concepts. That is a huge difference.

    24. Re:This is bunk by Anne+Thwacks · · Score: 1
      BASIC was invented to teach the writing of interpreters, not to actually use. The problem was a whole generation of students then knew how to write BASIC interpreters.

      Now get of my lawn.

      --
      Sent from my ASR33 using ASCII
    25. Re:This is bunk by Anne+Thwacks · · Score: 1

      Every MINI. BASIC existed 10 years before the micro.

      --
      Sent from my ASR33 using ASCII
    26. Re:This is bunk by Anne+Thwacks · · Score: 1

      I take your Lisp and raise you a SNOBOL.

      --
      Sent from my ASR33 using ASCII
    27. Re:This is bunk by History's+Coming+To · · Score: 1

      Yup. Started off as somebody's little project and grew into one of the most popular scripting languages on the planet. Why? Because it's easy to get to grips with. Same as BASIC. There's lots of things wrong with it (inconsistent syntax for starters), but you can sit a non-geek down and get them to the stage of being productive in half an hour. It's all about the learning curve.

      --
      Please consider this account deleted, I just can't be bothered with the spam anymore.
    28. Re:This is bunk by john.r.strohm · · Score: 1

      Sorry, but this is factually incorrect.

      BASIC was developed by Kemeny and Kurtz at Dartmouth to make computer programming accessible to students. It was designed to be easy to use on the machines at that time.

      The original implementation was actually compiler-based, integrated with an editor. Today you'd call it an integrated development environment. Interpreter implementations came later.

    29. Re:This is bunk by XxtraLarGe · · Score: 1

      Although it is worth noting that Python has become an intro course for at least one large university (it's the required introductory course for all CS majors at Michigan State)

      I'm not sure if that's a good move or not. When I was studying CS @ MSU, we started out with C++, and pretty much used that for most of the classes. The second class in the series was data structures and algorithms, and we basically had to recreate the STL, so you really had to learn how all the data structures (strings, vectors, etc.) were created. You'd be given a header file and you had to write the implementations. I'm not sure how you'd do that with Python since you seem to get most of those things for free.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    30. Re:This is bunk by centre21 · · Score: 0

      But I took both COBOL and BASIC in high school, which could serve as the "critical mass" of educational institutions mentioned in the abstract.

  2. Not really... by i+kan+reed · · Score: 2, 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.

    1. Re:Not really... by datavirtue · · Score: 3, Insightful

      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.

      --
      I object to power without constructive purpose. --Spock
    2. Re:Not really... by vlm · · 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."

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    3. Re:Not really... by Anonymous Coward · · Score: 1

      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.

      Except for Scala.

    4. Re:Not really... by Anonymous Coward · · Score: 0

      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."

    5. Re:Not really... by Anonymous Coward · · Score: 0

      You must have blinked when that joke went by.

    6. Re:Not really... by mooingyak · · Score: 2

      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.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    7. Re:Not really... by Curupira · · Score: 1

      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.

    8. Re:Not really... by drooling-dog · · Score: 2

      Ummm... Small point, but 2-propanol IS isopropyl alcohol. So, no billion dollars to make the switch.

    9. Re:Not really... by Anonymous Coward · · Score: 0

      WHOOOOOOOOOSH (maybe the biggest one in a long long time)

    10. Re:Not really... by HiThere · · Score: 1

      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 a good set of libraries, you'd better have the backing of a major corporation, because writing them from scratch takes lots of time and effort.

      The lack of decent access to libraries is one of the main features keeping many languages in a minority position. Note that Python comes "Batteries included". I don't know if they still advertise that, but they used to. Ruby, an otherwise excellent language (though a bit slow) is only successful in the areas where users developed libraries to handle things that other languages couldn't handle easily. I think it's probably lost that advantage now, but I'm not a web developer, so I'm not sure. OTOH, it probably now has a large enough user community to keep moving forwards.

      Now to consider a failure: Common Lisp. The main problem is that it's fragmented libraries, which are often of low quality. If I compare this to Racket Scheme, Scheme is a much friendlier environment to enter, because it has decent libraries that work well. This is due to a LOT of work by Rice University. I'm not going to claim that Scheme is a success, but it's not a clear failure.

      Note that in every case that I mentioned it is POSSIBLE to use non-supported libraries. But it's difficult, and there isn't any real support or documentation. So it's basically, people develop where it's pleasant. (This is a problem many languages have. Coming up with a pleasant development environment isn't easy. Usually I find that I prefer to just use an editor and a terminal. Netbeans is an obvious exception, but I find it hard to trust something so tightly tied to Oracle.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    11. Re:Not really... by HiThere · · Score: 1

      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 into a fatal weakness.

      Note that nobody has mentioned Google's go. This is a language that has the possibility to really take of, if Google decides to push it. It needs a good GUI interface, though. It may have other weaknesses, but I stopped examining it when I discovered that there was in way to create a GUI in the language.

      FWIW, the language I'm currently looking at is Erlang. If it won't do the job I need, then I'll switch my development back to Python, but I was trying for a language that was faster. As a result I've been looking at many different languages over the past month. For my purposes there aren't many good candidates. (The latest one I dropped was Racket Scheme. I needed a library that it didn't support. Yes, one can always use an FFI, but I'd really rather avoid that.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    12. Re:Not really... by Junior+J.+Junior+III · · Score: 2

      Ah, the chemistry metaphor. Thank you for making it all so clear for the rest of us, and for not being part of the precipitate!

      --
      You see? You see? Your stupid minds! Stupid! Stupid!
    13. Re:Not really... by Mr.+Shotgun · · Score: 3, 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?

      --
      Of all tyrannies, a tyranny sincerely exercised for the (supposed) good of its victims may be the most oppressive
    14. Re:Not really... by Anonymous Coward · · Score: 0

      Note that nobody has mentioned Google's go. This is a language that has the possibility to really take of, if Google decides to push it. It needs a good GUI interface, though. It may have other weaknesses, but I stopped examining it when I discovered that there was in way to create a GUI in the language.

      Go is missing one feature which should have been the focus from the very beginning. But they had skewed priorities and Go is still in a state where it's not really usable for most purposes. However, if they'd focused originally on interoperability with C (a reasonable FFI and a way for C code to call back into Go...cgo sucks), people could have adopted it into existing projects and started to replace C code in small bunches. Your complaint would be addressed because someone would have written a thin layer between Go and Qt or some other GUI library and you'd be able write your GUI. But, instead, they wasted years building out a standard API and the language is still not usable for most people with real-world problems.

  3. False premise by ceoyoyo · · 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.

    1. Re:False premise by vlm · · Score: 2

      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 who actually write code do.
      I've done a couple years of Perl and Ruby, so I assume schools are teaching awk and ... scheme or something?
      I'm teaching myself scala so I assume kids now are learning scheme or java?

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    2. Re:False premise by Darinbob · · Score: 2

      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.

    3. Re:False premise by datavirtue · · Score: 1

      Java is slowly being adopted and has met great resistance at my college. I have seen that colleges are at least ten years behind in just about everything. Some things are even further behind by 15 - 20 years. Sometimes they have no idea that the tech they are behind in even exists.

      --
      I object to power without constructive purpose. --Spock
    4. Re:False premise by Monkey-Man2000 · · Score: 1

      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" warning message during compilation wasn't an error and WOULD NOT prevent the code from working. Compile, warning, check code and change, compile, warning, check code, etc. with no actually test. Agghhhhh...

      The good news from that experience was that my 1 on 1 exposure with that prof was also where I learned of vi, and I've never had to look for another code editing utility since...

      --
      This post was generated by a Cadre of Uber Monkeys for Monkey-Man2000 (603495).
    5. Re:False premise by ceoyoyo · · 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.

    6. Re:False premise by ceoyoyo · · Score: 2

      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."

    7. Re:False premise by Anonymous Coward · · Score: 0

      Most universities never taught C. They taught "C/C++" in that time frame. Even then, the languages varied by discipline. As an electrical engineer, they taught me programming in FORTRAN (in the 1990s) first. The next language was assembly on the Motorola HC11. Later came otehr languages, like Scheme and C++. This is ignoring the specialized languages, such as those needed for programmable logic chips.

    8. Re:False premise by Anonymous Coward · · Score: 0

      That's weird, most universities are at the forefront of research and that includes new programming languages.
      Oh wait, you meant what they teach at the university.
      Who cares about that, I'm in it for the research, and the paycheck of course.

    9. Re:False premise by silas_moeckel · · Score: 1

      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.

      --
      No sir I dont like it.
    10. Re:False premise by silas_moeckel · · Score: 2

      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.

      --
      No sir I dont like it.
    11. Re:False premise by Anonymous Coward · · Score: 0

      Java is as bad as C++ as far as programming languages go. The sooner Java dies off the better for everyone.

    12. Re:False premise by PT_1 · · Score: 1

      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.

    13. Re:False premise by Anonymous Coward · · Score: 0

      Oh boy, another one of these types. Guess what Poindexter, the number of people who need to work in assembler is rapidly shrinking. There's far more demand for good business logic programming than there is hand optimized assembler. As a hiring manager, I wouldn't even look at you. You're one of these nerds who'd spend a month obsessing over a single function than actually getting work done that matters.

    14. Re:False premise by Anonymous Coward · · Score: 1

      I did that sort of thing in high school for fun, but during college I grew up and decided to live in the modern day, and learn stuff that would let me be a hundred times as productive AND get a job.

      I still break out x86 from time to time for fun. At work, I write in C++ and Python. And get a lot more done.

      Competent are expensive. Especially ones whose little brains don't break on assembly. CPU time is cheap.

      I strongly suggest you learn some new technology or you might find yourself complaining about "ageism" and being out of a job in the near future.

      Note: learning new technology doesn't mean you can't snicker when people talk about the "cloud" being completely revolutionary.

    15. Re:False premise by Anonymous Coward · · Score: 0

      "slowly being adopted"? My only programming course was one in java over ten years ago. The only reason I took it was because it was part of the core (ie, all of the frosh had to take it). And Java was old hat even back then. I am shocked that there are universities still in the process of transitioning to Java as we speak.

    16. Re:False premise by drooling-dog · · Score: 2

      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 in basic computing fundamentals - and contempt for those who don't share it - would limit your potential severely, IMHO.

    17. Re:False premise by jdschulteis · · Score: 1

      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.

      Pascal was widespread as a college introductory programming language before Java.
      The AP Computer Science exam was Pascal up until 1999, C++ from 1999 to 2003, and is currently done in Java.
      For a first language, it is desirable to hide a lot of the complexity.

    18. Re:False premise by ceoyoyo · · Score: 2

      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.

    19. Re:False premise by ceoyoyo · · Score: 1

      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.

    20. Re:False premise by Dadoo · · Score: 1

      universities were still teaching Pascal as a first language (an excellent choice)

      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 worry about two data types - numeric and string - you didn't need to structure your code, and you could use GOTO. Yes, I know those things are generally bad programming practice, but you shouldn't have to worry about all that stuff, when you're just learning.

      --
      Sit, Ubuntu, sit. Good dog.
    21. Re:False premise by HiThere · · Score: 1

      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 value that there's this series by Knuth that helps you REALLY understand. Parrot doesn't have that, but it's nicely designed, and you can test your programs on your actual machine (sort of) rather than on an isolated emulator. (Parrot is actually isolated enough that it's reasonably safe to learn one. I suppose that MIXX is no worse, but I like the Parrot machine better.)

      For that matter, the JVM would be a better choice than the x86 assembler to learn. I just don't like or trust Oracle.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    22. Re:False premise by plover · · Score: 1

      Knowing machine language is a large part of the difference between an "average code monkey" and a skilled developer. Hand optimizing assembler code is an exercise in wasted money, except when it isn't. A skilled developer will not only know when the difference is critical, but be able to do the task.

      That doesn't mean the number of times a developer needs to trot out the assembler is very large, mind you. Almost no business applications would ever need it these days - a programmer's time and the overall cost of maintaining ASM code is generally much higher than the cost of upgrading the server the code runs on. But if you start talking about slinging millions of pixels around on a GPU 200 times every second, it suddenly becomes very important that you know exactly what the machine is doing.

      --
      John
    23. Re:False premise by ceoyoyo · · Score: 1

      You've explained exactly why BASIC is a poor learning language and Pascal is a good one. Yes, you SHOULD worry about structuring your code, especially when you're learning. Beginners should never be exposed to the option to use things like GOTO.

      Pascal was verbose enough to be easily readable (and learnable) and powerful enough to do whatever you wanted. I don't understand why you say it wasn't powerful enough for "experts." The Turbo/Borland/etc. Pascal compilers that people actually used were just as powerful as C compilers. More so... Turbo Pascal and up was fully object oriented. Mac OS was written in Pascal. There were also a LOT of Delphi applications, many of which are still around.

    24. Re:False premise by ceoyoyo · · Score: 1

      Absolutely. We need ways of turning out skilled developers, which means not downgrading university computer science programs to cater to industry and churn out mass produced code monkeys.

      You probably read the replies further up in this thread. Even to much of Slashdot, things like assembler are obsolete, arcane knowledge that nobody needs to learn anymore. They forget that someone has to write the compilers and interpreters they use.

    25. Re:False premise by Dadoo · · Score: 1

      Yes, you SHOULD worry about structuring your code, especially when you're learning.

      Um... no. I know everyone likes to believe this, but it's baloney. When I'm learning a programming language, I like to produce something that works, in as short a time as possible. Having to worry about structure, on top of the syntax only increases that time. Pascal is like trying to teach first graders the alphabet, parts of speech, sentence structure, and symbolism, all at the same time. Sorry, but that's just not going to work.

      I don't understand why you say it wasn't powerful enough for "experts." The Turbo/Borland/etc. Pascal compilers that people actually used were just as powerful as C compilers.

      Well, it's been a while since I've done Turbo Pascal, but if I remember correctly, what made it powerful is that it didn't follow the Pascal standard. If that's true, I'd hardly call that powerful.

      --
      Sit, Ubuntu, sit. Good dog.
    26. Re:False premise by Anonymous Coward · · Score: 0

      Everything can be coded in Java can be coded in C. The JVM is built upon C++ and C++ was first implemented in C. The OS is most likely developed in C anyhow, and that level the JVM need to talk to. So, yes, everything you do in Java can be done in C.. so .. why teach C in school? .. why teach Java in school? Maybe teach both? OOP is a good thing to teach, even tho you can write it in C, would you?.. I would (and I do), but that is me and not the rest of the world.

    27. Re:False premise by Anonymous Coward · · Score: 0

      You went to the same school as me! .. No seriously, learning Microcontrollers in ASM and then coding the same thing in C is a great learning curve, after that the school introduced Java. Perfect

    28. Re:False premise by Dog-Cow · · Score: 1

      It's very unlikely that there are more than a few dozen people on the planet who can regularly tune hand-written assembly to outperform a good compiler across a wide range of CPU models. If you know exactly the exact hardware your code will run on, down to the RAM timings, you might be able to optimize for it. Otherwise, you will almost certainly lose as soon as one part is changed.

      Perhaps the only practical exception is using vectorized instructions (SSE, Altivec, etc.) when available, if you don't already have a library to replace the affected intrinsics.

    29. Re:False premise by ceoyoyo · · Score: 1

      Um... no. I know everyone likes to believe this, but it's baloney.

      Translation: I want to know everything right now, putting in as little effort as possible, and I firmly believe that everybody who knows better and warns me this is a bad idea is wrong. If you want to teach children (including adults who need instant gratification) how to code, you give them Logo. If you want to teach someone to be a decent programmer you give them a learning language that requires they develop a few good habits. Otherwise you end up with the average MatLab programmer. Giving your program a name and typing 'begin' and 'end' isn't really that demanding.

      You should probably watch this.

      Turbo Pascal was an extension of the Pascal standard. Saying it didn't follow the standard is kind of like saying GCC doesn't follow the C standard because it's not strictly a K&R C compiler.

    30. Re:False premise by plover · · Score: 1

      Hey, I seriously don't want our web monkeys writing assembler. Assembler is not even an approved language in our shop, because we can't hire people who can maintain it. But if a C++ developer is in the debugger and has to step into the disassembler, I expect her to know what she's doing. Fortunately, I have a few that do.

      The bright spot on the horizon is that my son graduated from University with a degree in Comp Sci, and they appear to have shifted their program away from cranking out an assembly line of Java monkeys to people who can write C and assembler. At least those were among the courses he chose to take. I just thought it was awesome that he had a reverse engineering class that was taught almost entirely in gdb. To me, that was hope for the future.

      --
      John
  4. They don't teach languages by Intropy · · 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.

    1. Re:They don't teach languages by Intropy · · 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.

    2. Re:They don't teach languages by Darinbob · · Score: 3, 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.

    3. Re:They don't teach languages by Anonymous Coward · · Score: 0

      Universities do not and should not be teaching programming languages.

      What about say a biology major that wants to take Python 101 as an elective since the ability to program will be useful from time to time no matter what you're doing if a personal computer is involved. Being even a neophyte scripter gives you a significant advantage over people who aren't when it comes to computers as it is leverage that can be generally applied.

    4. Re:They don't teach languages by jgotts · · 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 hypothetical language. That would be far too abstract, and difficult to grade. You have to decide upon a language and you have to inherit its flaws, design compromises, and strengths. I disagree that texts use pseudocode. At least in my experience, they use some but not a whole lot.

      When teaching a student grammar, you first teach their native language. English implements all sorts of biases, trade offs, and lacks features of other languages (gender, tone, irregular verbs, and many more). You have to direct your grammatical instruction in an incomplete manner or else things would be too abstract for the student, and when students learn new languages they have to learn new features of the language as well. Once you start looking into many, many languages it's pretty damned cool because you thought you knew how languages worked based upon your own but you begin to see how languages work in general. This whole aside, of course, applies to the formal languages we use for programming.

    5. Re:They don't teach languages by Anonymous Coward · · Score: 0

      That's probably because many programming jobs are temporary. When the application is built, you're done. Bye.

    6. Re:They don't teach languages by GodfatherofSoul · · Score: 4, 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.

      --
      I swear to God...I swear to God! That is NOT how you treat your human!
    7. Re:They don't teach languages by Anonymous Coward · · Score: 1

      Yes, exactly that. My local community college offers "Introduction to Programming" in several flavors (e.g. Visual Basic, Java, etc.), followed by "Programming Methods" (C++ or Java), "Data structures" (also C++ and Java), and "Internet programming" (ruby, python, javascript, php, etc..), and whatnot*.

      *Do people still say whatnot?

    8. Re:They don't teach languages by AwesomeMcgee · · Score: 2
      I agree that the "you don't need a degree" crowd doesn't understand often times the foundations or theory. However, the "you need a degree" crowd goes around saying things like:

      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.

    9. Re:They don't teach languages by kiddygrinder · · Score: 1

      Uni instruction teaches you shit all about being a good programmer in my experience. data structures don't take 3 years to learn. we've got a guy who's been doing part time uni working on some of our systems, last week he learned how to use constructors. It's August. Note that i said *use* not *write*. Not to mention when he comes back with some bullshit a lecturer seems to have just made up and we have to tell him to just forget it after the exam.

      --
      This is a joke. I am joking. Joke joke joke.
    10. Re:They don't teach languages by xstonedogx · · Score: 1

      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.

    11. Re:They don't teach languages by Anonymous Coward · · Score: 0

      GP should have said, "Good university instruction teaches you to be a good programmer." You don't need a degree to be a good programmer, but it's harder to learn the theory on your own than it is to pick up a language on your own. On the other hand, if you have a degree and you're not a good programmer, then either your university instruction was bad or you were a bad student.

    12. Re:They don't teach languages by tnk1 · · Score: 1

      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 and Tcl. In no way was I taught much about being a good coder in terms of maintainable code. Perhaps the new-fangled Computer Engineering or updated CS programs do that now, but I can tell you that I certainly didn't learn to code in class, I was already expected to know how to do it. If you didn't know a language, you were expected to take the remedial classes which gave a student almost no credits.

    13. Re:They don't teach languages by Anonymous Coward · · Score: 1

      Northwestern University (The one in Evanston IL) has the specific policy that they will not teach you how to program in a language, only how to program.

      So they teach intro courses in scheme and lisp, and then go into C++ and java only for the advanced classes.
      Ya you basically learn two throw away languages, but then can learn two useful languages withount too much trouble.

    14. Re:They don't teach languages by ceoyoyo · · Score: 1

      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.

    15. Re:They don't teach languages by PRMan · · Score: 1

      Especially ADVANCED degrees. When I was hiring, we never found a Masters or PhD that was worth hiring. Too much theory, no real world. One person with a masters didn't know what the Start button on Windows 95 did. Another couldn't add one column to a csv in 8 hours!

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    16. Re:They don't teach languages by Sentrion · · Score: 2

      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 what you want the code to do before actually "coding", such as using a flow chart and/or psuedocode. 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. I've also used BASIC when I was a kid to make my own games and other environments should be easy to pick up, such as VBA or MatLab scripts. Machine language, like assembly code for a microcontroller, can be more of a challenge, but the basic skills still apply, except that now you have to manually control the stack and you have to pay close attention to the physical limitations of your processor. Main point: go ahead and take an intro- type of class, pay attention, and understand the difference between software design and programming syntax. A great poet should not care too much whether he is writing on paper or typing on Notepad, it's the poetry that counts. If the poet is "computer literate" then he might be able to write his poetry faster, and maybe have more opportunity to improve upon it with the text editing tools at his disposal. But I wouldn't consider him a great poet if he couldn't compose something great with a pen and notebook.

    17. Re:They don't teach languages by Anonymous Coward · · Score: 0

      Exactly. You can be a shitty programmer no matter what kind of degree you have (whether it's the university's or the student's fault)...but nothing you've said is evidence that a programmer is MORE likely to be shitty if they have an advanced degree.

    18. Re:They don't teach languages by Anonymous Coward · · Score: 0

      How do you edit a csv anyway? By default they seem to open in excel, but it completely butchered it.
      Anyway, I'm not on the you need or you don't need a degree sides.
      I'm on the I want a degree side.
      I also have to wonder where you were finding your masters and PhD graduates.
      Especially the PhDs I would expect to have more real world experience.
      Obviously I can only speak from my own experience, but in my research I work together with people from several different companies and universities to do my research. I think that counts somewhat as real world. Obviously it's not the same as real job experience, since the requirements aren't as strict, but everyone has to build up experience at some point, and the university is not really that place.

      Actually now that I think about it, I'm not surprised at all. I often wonder how some students made it through their masters degree, and the same for some PhD students. I feel sorry for their professors. But I can't believe all of the ones you met were retarded.
      Maybe your place of work is not desirable for capable people?

    19. Re:They don't teach languages by gestalt_n_pepper · · Score: 1

      I still say "whatnot" and whatnot.

      --
      Please do not read this sig. Thank you.
    20. Re:They don't teach languages by garett_spencley · · Score: 2

      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 those assignments a zero, the students would complain to the professor who would explain to my friend that those assignments were deserving of 10/10 because they compiled and ran.

      A university-level course that is supposed to be teaching object oriented principles, in this particular case, had as it's only criteria that the software compiles and runs. It does not matter if the student walks out of the class even knowing what object oriented programming is.

      I think THAT kind of thing is what really fuels the "you don't need a degree" crowd. It's an example of how Universities are giving away degrees, and when everyone has a degree they cease to be valuable commodities.

    21. Re:They don't teach languages by swilly · · Score: 1

      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 would have been better than C++ for introducing Object Orientation) but for the most part this approach worked well.

      There were also 1 credit hour 200 level courses for specific languages (I remember Java, Perl, COBOL, and FORTRAN) but CS students could only get credit for a few of these (though CIS students were expected to take a lot more).

    22. Re:They don't teach languages by dcollins · · Score: 1

      "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?

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
    23. Re:They don't teach languages by dcollins · · Score: 1

      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?

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
    24. Re:They don't teach languages by Aighearach · · Score: 1

      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.

    25. Re:They don't teach languages by lister+king+of+smeg · · Score: 1

      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...

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    26. Re:They don't teach languages by DriedClexler · · Score: 1

      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.

      --
      Information theory is life. The rest is just the KL divergence.
    27. Re:They don't teach languages by Anonymous Coward · · Score: 0

      I learned^H^H^H^H^H^H^H was casually introduced to C++ in a single course in college...

      FTFY

    28. Re:They don't teach languages by mrchaotica · · Score: 1

      How do you edit a csv anyway? By default they seem to open in excel, but it completely butchered it.

      I think the GP was talking about giving the person the task of writing a program that would take a CSV as input, parse it, add another field to each line, and write it back out again.

      By the way: to edit a CSV in Excel, you (stupidly) can't just double-click its icon. Instead, you have to open Excel (without loading a document), go to File*->Open, then Excel will show a wizard where you can choose how it should parse the file. In this wizard, you need to check the "Comma" checkbox. (Who would have thought that a "Comma Separated Values" file would have values separated by commas? Not Microsoft, apparently!) Then click "Done," and your file will be open in Excel, (mostly) correctly.

      * "File->Open," "Office Button->Open," whatever (depending on which stupid version of Office you have.)

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    29. Re:They don't teach languages by HiThere · · Score: 2

      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 think it a bug where others are deeming it a feature.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    30. Re:They don't teach languages by Anonymous Coward · · Score: 0

      They also go deep on the culture, right?

    31. Re:They don't teach languages by Anonymous Coward · · Score: 0

      there is a sub-system chart for Linux out there.

    32. Re:They don't teach languages by Anonymous Coward · · Score: 0

      Easy to make stuff up online. Anecdotal evidence is the product of a weak mind.

    33. Re:They don't teach languages by 91degrees · · Score: 2

      One person with a masters didn't know what the Start button on Windows 95 did.

      Why should he? Not everyone uses Windows. Knowledge of a specific GUI isn't an important skill. People can pick that sort of thing up pretty quickly.

    34. Re:They don't teach languages by Anonymous Coward · · Score: 0

      I've never had to go through such rigmarole to open a CSV in Excel. Maybe your Excel installation is hosed.

      Assuming Excel is installed, CSV files show an Excel icon in Explorer, and the file type should be associated with Excel in the registry. Double-clicking a CSV file generally works fine on any system I've used where MS Office is installed, though sometimes Excel can't properly parse a CSV that contains improperly quoted text values. But if you've got a CSV that's just numbers and strings without embedded quotes and commas, it just works, and AFAIK it always has at least as far back as Excel 2000.

      - T

    35. Re:They don't teach languages by Jedi+Alec · · Score: 1

      please show me a flow chart for a kernal, or a modern 3d game engine complete with ai.
      now write it in basic...

      even a kernal(sic) or game engine can be chopped up into conceptual smaller pieces, and those pieces can be chopped up as well, until you do reach a level where flowcharts can be used.

      Heck, your "AI" is a perfect example. The decision making process of an NPC/monster/whatever in a computer game qualifies perfectly for a flowchart.

      --

      People replying to my sig annoy me. That's why I change it all the time.
    36. Re:They don't teach languages by benhattman · · Score: 1

      This is both right and entirely wrong.

      Computer Science degrees are not degrees in programming languages. They are degrees in the science of computation, and they use specific languages as a platform for that education.

      However, there is nothing wrong with a university (or more commonly a community college) providing courses on specific languages. Perhaps you already have a CS degree, but find a classroom setting better for learning than hacking on your own. If such a person wants to take the local Ruby class, I would encourage them to do so.

      Not all plumbing requires much training. I can't plumb a house, but I can replace a faucet. Likewise, you shouldn't expect professional work out of someone who spent a quarter taking iOS programming, but if someone wants to do so and uses that knowledge to hack out a $0.99 game, more power to them.

    37. Re:They don't teach languages by Anonymous Coward · · Score: 0

      and this is why a degree from some places is valued more than others

    38. Re:They don't teach languages by dakra137 · · Score: 1

      my observations as a college student in the 1970's.
      Academic educational institutions (e.g. Yale) teach computer science, including programming. Their goal is to educate, not prepare students for the job market. They don't give for-credit courses for particular languages. Learning the language is an exercise left to the student, maybe guided by sessions with teaching assistants, in order to do the assignments.
      Training institutions (e.g. NYC's Queens College) do teach and give credit for programming languages. Their goal is to prepare students for the job market.
      What is the difference between education and training?
      Yes, you do know the answer.
      You may be happy your child gets sex education in school, but you would not be happy if the school provided training.
      Training involves repeated practice to develop and hone a skill.

    39. Re:They don't teach languages by DriedClexler · · Score: 1

      Generally, yes, usefulness depends on context. But you don't need gendered pronouns to communicate someone's gender when that's what you want to do. And even in traditional cultures and whatnot, the fraction of cases where the pronoun communicates a persons gender when the speaker doesn't already know it is a tiny fraction of usage.

      That's why I say it adds complexity overhead while doing nothing for expressive power, and this remains true in the contexts you mention.

      So all that's left is "reduce error rates of a noisy signal". But if you want that, you should use universal parity check terms, not ones that only check parity for certain words.

      --
      Information theory is life. The rest is just the KL divergence.
  5. There's no easy way to fame and fortune by IcyHando'Death · · Score: 1

    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.

  6. To be honest... by marczoid · · Score: 1

    ...most people that I know are still using traditional languages, so the ones that quickly come will probably go quickly as well. Compare it to Pink Floyd and Pitt-bull.

  7. bullcocky by afidel · · Score: 2

    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.

    --
    There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  8. The Resurgence of Lisp Is At Hand by Patrick+May · · Score: 4, Funny

    We already have Lisp. All other languages are unnecessary.

    1. Re:The Resurgence of Lisp Is At Hand by SpeedBump0619 · · Score: 0

      We already have . All other languages are unnecessary.

    2. Re:The Resurgence of Lisp Is At Hand by AwesomeMcgee · · Score: 3, Funny

      But does it have macros?

    3. Re:The Resurgence of Lisp Is At Hand by Anonymous Coward · · Score: 1

      Not really: http://xkcd.com/224/

    4. Re:The Resurgence of Lisp Is At Hand by Anonymous Coward · · Score: 0

      No, but it can emulate them.

  9. Tail wagging dog? by Grindalf · · Score: 0

    Adoption and standardisation of most computing was traditionally steered by the military and space research, not academics. The academics “followed the money” and worked on government funded programmes which steered the research to a “needed point.”

    --
    The purpose of existence is to make money.
  10. For Fuck's Sake by MightyMartian · · Score: 2, 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.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  11. I really hope so... by Anonymous Coward · · Score: 0

    We need more high level languages.

  12. Not the way it was by pubwvj · · Score: 2

    "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.

    1. Re:Not the way it was by Anonymous Coward · · Score: 0

      Picking up new languages within paradigms you are familiar with is easy. The caveat is important. Try picking up Haskell if you've never programmed in a functional language before. That is certainly NOT a "trivial thing".

  13. Betteridge's Law by IcyHando'Death · · Score: 3, Insightful

    http://en.wikipedia.org/wiki/Betteridge's_Law_of_Headlines

    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).

    1. Re:Betteridge's Law by vlm · · Score: 2

      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.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    2. Re:Betteridge's Law by ceoyoyo · · Score: 1

      you can't spell functional without "fun".

      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.

    3. Re:Betteridge's Law by vlm · · Score: 1

      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.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    4. Re:Betteridge's Law by ThorGod · · Score: 1

      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.

      --
      PS: I don't reply to ACs.
    5. Re:Betteridge's Law by angel'o'sphere · · Score: 0

      Programmers learn new languages because it is fun. Not because a language offers some mystical big advantage.
      OTOH there are programmers that learn a language because there are jobs there, visual basic e.g.
      I learned (and forgot again) far over 50 languages. Nevertheless I learn a new one nearly every year, or just invent my own and throw it away again.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  14. No. by Anonymous Coward · · Score: 0
  15. Students or bots? by Gothmolly · · Score: 1

    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?

    --
    I want to delete my account but Slashdot doesn't allow it.
    1. Re:Students or bots? by Anonymous Coward · · Score: 0

      Too many of them...

  16. It's the tools, stupid by MrEricSir · · Score: 1

    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.

    --
    There's no -1 for "I don't get it."
    1. Re:It's the tools, stupid by Aighearach · · Score: 1

      Real programmers have emacs and can tackle any language.

  17. Universities don't lead, they follow by Anonymous Coward · · Score: 0

    ... and that won't change just because they move online. Even setting aside the fact that the focus is usually on general principles (independent of the specific language used), the choice of language will always be dictated by what they feel will be useful to their students. In other words, they won't pick a new language and hope to drive adoption by building courses around it, they'll pick an established and popular language. (For example, Udacity picked Python; hardly a controversial choice.) The only thing that might change with the move online is the tempo of change: universities won't lag the rest of the world by so much. But the main drivers of language adoption will always be elsewhere.

    1. Re:Universities don't lead, they follow by Maltheus · · Score: 1

      I'd say python, or any untyped language, is a pretty lousy choice to teach programming.

  18. Re:For &#$@'s Sake by Bigby · · Score: 3, 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...

  19. Language agnostic by fermion · · Score: 2
    A person who learned to program a computer should be able to use, after a time, any language that is currently in the top 5, that is C, Objective C, Java, C++, C#. All of these share a common underlying philosophy and basic technique. C is by far the simplest fo these, but also the most basic. Of course most of the time the language is not the thing. Rather the API is where th heavy flitting is done and in fact over the past 10 years of so has become a barrier to entry. One has to know how use .net., or the interfaces for iOS or android. 30 years ago the APIs were not this arbitrarily complex, but also we were not doing threading of complex UI. Specifically when using an API one has to define the solution to the problem in terms of the API, not the language. These language account for perhaps 2/3 of the computer applications.

    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

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    1. Re:Language agnostic by sensei+moreh · · Score: 1

      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.

      --
      Geology - it's not rocket science; it's rock science
  20. What a load of ignorant bullcrap by luis_a_espinal · · Score: 5, Insightful
    Some people like to talk about computing without knowing its history. How did this made it to the /. front-page news?

    "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.

    1. Re:What a load of ignorant bullcrap by djchristensen · · Score: 1

      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.

    2. Re:What a load of ignorant bullcrap by ceoyoyo · · Score: 1

      Brilliant. Now I remember why I still read the comments.

    3. Re:What a load of ignorant bullcrap by Anonymous Coward · · Score: 0

      Java took off because Sun dumped tens of millions of dollars into marketing it, which was unprecedented for a programming language. In 1996 my mother was asking me about Java and she can barely work a mouse.

    4. Re:What a load of ignorant bullcrap by Anonymous Coward · · Score: 0

      Python hasn't taken off?

      Well, I agree with you in all the other points, but Python is heavily used in many corporations and international organizations for basically all scripting needs, displacing Perl from that role, and also for all kind of applications and services that do not require top performance.

    5. Re:What a load of ignorant bullcrap by AchilleTalon · · Score: 1
      FOTRAN and COBOL, both took off. I don't know what you are talking about saying FORTRAN was the best thing at his time. Both language where targetting different applications. COBOL and FORTRAN are still heavily in usage these days in legacy applications and represent a huge money investement.

      FORTRAN's compiler was first available in 1956, while COBOL was available in 1959.

      --
      Achille Talon
      Hop!
  21. I Hope Not by Githaron · · Score: 2

    Unless the language adds something revolutionary or is very domain specific, we don't really need anymore widely used programming languages. What we do need is more libraries, frameworks, and APIs for existing languages. Preferably, they would be open source or at least have open specifications so that an open source version can be made. Also, not all problem domains warrant their own language.

  22. Brainfuck by Anonymous Coward · · Score: 0

    As it is, my college classes start out over-crowded and end with about half dropping out (and a few failing because they are too stupid to drop or withdraw).

    I'd *love* to take a programming course taught with brainfuck. Pretty sure there'd be at most 3 of us with passing grades.

  23. Lot's of IT work should not be at university level by Joe_Dragon · · Score: 1

    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 plans so in some lights they are seen as a joke and some times credits don't transfer as the time tables are not the same.

  24. A flourishing of new languages could be worse by Anonymous Coward · · Score: 0

    There are a lot of terms here, like inertia and status quo, that miss the real point:

    You're making an assumption that the widespread adoption of new programming languages would be better, not worse, for the community. I'm not sure there's data that backs this claim. The high barrier to new languages has created larger pools of people and systems talking to one another; there are advantages to this. There is, essentially, a cost to the system for every new language that hits the ecosystem. There is some optimal number of languages, and there's little reason to expect that number is significantly higher than what we have now. I can see a benefit if online learning programs were to reduce the cost of leaning one of the existing languages. I can also see a benefit if such programs were to increase the number of people programming in those languages. However, the more languages there are, the more difficult it will be to find people who have mastered them.

    If I'm an employer, and I'm trying to decide what language my employees should code in, I need that language to be one that both meets my needs and one that is highly adopted, such that, should I need to hire someone, an add online will bring plenty of applicants. However, if the existing body of programmers becomes fragmented among a greater number of languages, it will become harder to find someone who has mastered the one or two languages my company uses.

    Where
          PP = Total Population of Programmers,
          ML = Number of Major Programming Languages, and
          COB = Current Overall Benefit,
    if PP/ML=COB, you'll need to demonstrate that PP/2(ML) != COB/2 before anyone gets excited about the prospects of the new renaissance.

  25. Skills vs Language by wiegeabo · · Score: 1

    Perhaps it would be better if universities focused on programming skill and critical thinking rather than having to learn any particular language.

    Maybe instead of learning, say, a C variant through all the years of college (which is really good to teach some things, and really bad to teach others), it would be better to use a language that, while not necessarily some type of industry standard, is actually a good tool for teaching a variety of programming techniques and critical thought. What good is it to learn to use a language if you can't program worth a damn?

    Back in college, half my intro to programming class bombed out because it focused on how to use C++ instead of how to actually think about programming. Only those of us who had been programming in C++ beforehand were able to get a decent grade.

    Shouldn't learning how to program be relatively language agnostic? Sure, you won't get to the fancy powerful tricks of a particular language in the classroom. But if you know how to program, not only should you be able to learn any language (assuming appropriate features and training materials), but you'll be able to pick up all that fancy stuff either on your own, in advanced language specific classes, or from work.

  26. How are we not already in the renaissance? by SuperKendall · · Score: 2

    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.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  27. Impossible to introduce a new procedural language by rmkeene · · Score: 2

    No. Programming languages need two things to become mainstream. First they need a very extensive library of support such as windowing, network, and about 50 other topics. Second they need a compelling reason to use the language itself. The compelling reason could be that the language is so nifty or elegant that it is worth the effort. In procedural languages it is hard to imagine anything better than what we have. In non-procedural languages there may be some new ideas yet to be thought of. Another compelling reason for a new language is marketing suits. Some company has a very cool new product and in order to lock you in they invent a new language to program it. Laaaaaaaaame. Only Microsoft would be stupid enough to try that again (C# was a case in point where they still had the muscle to pull it off.) Google could do it for a special search language but are not that silly.

  28. Re:For &#$@'s Sake by gl4ss · · Score: 1

    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. Much like there's no definite logic on which programming language is passable for wide use.

    but this article is total crap and a khan academy advert. khan academy isn't going to change the landscape anymore than any random web page is going to change the landscape for obscure or new programming languages. if it has some merit and is sexy enough then people will use it, but this article somehow assumes that people would like to be force fed a niche programming language down their throats on an online site - if they want that they can go learn snobol today.

    --
    world was created 5 seconds before this post as it is.
  29. I think the opposite is true by SuperKendall · · Score: 1

    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 pain then you are usually gone.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  30. Quickly learned and quickly forgotten by petes_PoV · · Score: 1
    Sure, online sources mean a lot of people will get to write "Hello World\n" in many different languages - but so what?

    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 are the ones operating systems are written in. The ones that databases are implemented in - that software with a lifespan measured in decades use. Those are the foundation of the IT industry and the languages that will provide most of the employment to developers.

    However, so far as novelty goes, the new languages that will be successful are the ones the will permit new ways of working, provide new features and/or solve the new problems that we will encounter.

    So learn your trendy new languages - the ones that some professor somewhere gets a nice little kickback from recommending some obscure learning material for. But you're almost certainly wasting your time if you expect to earn a living from it in the years after you graduate.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
  31. C is not the simplest by SuperKendall · · Score: 1

    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.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:C is not the simplest by Anonymous Coward · · Score: 0

      You seem to have forgotten how hard OOP is to learn.

    2. Re:C is not the simplest by Anonymous Coward · · Score: 1

      he didn't say simple to learn

    3. Re:C is not the simplest by Aighearach · · Score: 1

      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.

    4. Re:C is not the simplest by Aighearach · · Score: 1

      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.

    5. Re:C is not the simplest by Anonymous Coward · · Score: 0
      If you can't do basic memory management, you shouldn't be allowed to program. It is not a big deal at debug time to insure that your allocations and deallocations are kosher. It is simply a matter of technique.

      As fas as anything being simpler than C, look at the language books. K&R is less than 300 pages. Stroustrup is over a thousand. Equivalent Java reference is close to a thousand page.

    6. Re:C is not the simplest by SuperKendall · · Score: 1

      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 can come later.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
  32. New Languages aren't better by Anonymous Coward · · Score: 0

    One Word: Esperanto

  33. Education is irrelevant for language adoption by mbkennel · · Score: 1

    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 Apple hadn't bought NeXT for its next operating system, Objective-C would be nearly dead.

  34. Not the programmers fault by Anonymous Coward · · Score: 0

    That's not the programer's fault and they must do that.

    Let's face it, jobs have those ridiculous laundry lists of skills and if you want a job, you better have them. The job market has spoken.

    I have never seen a job ad that just said BS CS or equivalent work experience, experience in developing [whatever product or industry they're in.] and left it at that - even though, any competent developer would be able to do the job. They just may need a weekend of intense study of a language if they don't know it already.

  35. Yes, and it's going to be great by Anonymous Coward · · Score: 0

    For those of us who embrace change, we see this coming flood of new stuff and we say, WooHoo!

    Out with the same-old, same-old musty stuff that have been stuck in committees for the past 30 years.

    In with the new stuff that smart folks from all over the world are coming up with on a daily or even hourly basis, that deal with today's world not the bad old days, so the rest of us can be more productive and fulfilled.

  36. Why do we need a renaissance? by NorbrookC · · Score: 1

    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.

  37. Re:Not for some people by Anonymous Coward · · Score: 0

    Sea kelp.

  38. "Or will the status quo somehow triumph?" by John+Hasler · · Score: 1

    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).

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  39. Re:For &#$@'s Sake by Belial6 · · Score: 1

    Khan Academy is great, but I agree with you that it isn't going to change the landscape of programming languages. Online language courses are everywhere, and have been for as long as the internet has been available to the masses.

  40. Back in what day? wtf are you talking about by WombleGoneBad · · Score: 1

    Not one of the programming languages listed were a success because 'it was taught to students'. Its arse about face, they were taught because they were successful. Who the hell wants more languages anyway? renaisance? wtf are you talking about? We need better, faster, easier ways to get the job done. Not spewing out more languages for the sake of it. Also if you *did* have some magic new language, why would you want to force feed a bunch of inexperienced students with it? If you come up with a *genuine* significant improvement, be it a language, a technique, a library or whatever real programmers will pick it up and it will soar on its own wings. Look at JSON for a very recent and clear example of this. depsite the MASSIVE investment in XML by big industry and acedemia, some single guy posts a webpage and says 'hey heres an alternative format that works well with javascript' and now half the world is using it.

  41. The last thing we need by Anonymous Coward · · Score: 0

    Is a lot of new languages being used willy-nilly all over the place. It's already a problem, who wants it to get worse?

  42. What about Awk by Anonymous Coward · · Score: 0

    I learned Awk from some RedHat Unleashed (4.0?) after I graduated. Thanks to that segue, I never really needed to learn perl. I never used Awk during the time I went to college, but I've used it numerous times. On the other hand, I used Standard ML quite a bit in college, but never since.

    I've used TCL for modeling neural networks, ported Matlab code to C for improved performance, written code in Ada, developed ASP using Windows-NT emacs. But I don't know lisp.

    I'm not sure what my point is, other than that, I think it's really odd how people adopt programming languages, and not clear why a change in University structure would impact that oddness in an meaningful way.

  43. What would help? by frank_adrian314159 · · Score: 1

    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 programming language community hasn't done much either, burrowing ever deeper into its own type-theoretic navel rather than exploring pragmatics.

    Someone show me a language that beats APL in array processing, C in procedural programming, or Smalltalk or CLOS in OO programming - that could impress me and maybe make me want to learn a new language. Otherwise, I'll go ahead and learn the syntax and libraries, because that's about all that's different about your latest brain fart.

    --
    That is all.
    1. Re:What would help? by jbolden · · Score: 1

      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.

  44. Not the way it is by Anonymous Coward · · Score: 0

    s/is a trivial thing/is a non-trivial thing/

    Jack of all Languages, Master of None.

  45. so many languages, so little time... by slew · · Score: 1

    ...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 is the problem with many "new" languages. The problems that most folks are trying to solve is often not limited by language, but the availability of infrastructure. Let's take Ruby as an example. It isn't the most elegant of languages (although that is a matter of taste), but some folks when through the trouble of attempting to make it useful enough (e.g., gems, rails, etc) to convince some folks to spend time to learn it (like me). From the time it was first conceived until Rails popularized it, that was 10+ years...

    One swallow does not a summer make, nor a few web-classes a programming language renaissance.

  46. I doubt books have any influence by angel'o'sphere · · Score: 0

    I only read two books about programming languages, Modula 2 when I was 16 and during university the book about the ICON language.
    All other languages I learned by starting to program in them.
    Well, I recently bought a book about AppleScript as it is not that easy to get into.
    I really doubt any Prof at an university is judging languages by availability of books.
    Haskell, ML, OcaML, Monalisa, Scala, SatherK ... all pretty academic languages. And groovy, e.g. I really doubt any Prof is using it as an introductional language. However books are plenty.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  47. the problem by countach · · Score: 1

    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 widely used in corporations, then maybe there'll be something to talk about.

  48. Book by alexandre_ganso · · Score: 1

    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 a lot of languages had no such privileges, and yet, they prevailed for some time. C was not an academic project, but it conquered academia, for it was the most sensible approach to what it was proposed. Python needed several years to get the status it got. And so we go.

    (disclaimer: I work for Versita)

  49. Re:For &#$@'s Sake by dcollins · · Score: 1

    "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 heads. I think most people are comforted by repetitive tasks and feel confident and secure with them.

    --
    We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
  50. No by Anonymous Coward · · Score: 0

    No, it will be much like it always has been.

  51. Agreed, 110%... apk by Anonymous Coward · · Score: 0

    On several points you made I agree, 110%, as follows:

    "If you took classes it was to learn techniques and concepts." - by pubwvj (1045960) on Wednesday August 08, @04:49PM (#40922631) Homepage

    Absolutely, since in doing so, you learn the "basics" that function in logic and ways of doing things that function in ANY computer programming language (how to open/read-write/close files and permutations therein, string manipulation, & far more - each of which you do or will do, in any programming language).

    ---

    "Picking up a new language is a trivial thing." - by pubwvj (1045960) on Wednesday August 08, @04:49PM (#40922631) Homepage

    It is, especially after having learned the basics in the "101" level courses, & then picking up "tricks" in courses like DataStructures (still one of the MOST useful imo, @ least - it saves you YEARS of "trial-&-error" mistakes + what types of (for example) sorts work fastest on what kind & size of data, + much more, as I am CERTAIN you know!).

    ---

    "Taking a course on a language does not make you a programmer. " - by pubwvj (1045960) on Wednesday August 08, @04:49PM (#40922631) Homepage

    Yes - THAT, takes time. It's a different way of thinking, by taking a LARGE problem or goal, & busting it down into manageable LOGICAL parts, then coding those parts to work to accomplish said goal/task.

    (Nice part is, you get better & STRONGER @ it, the more you do it, like working out with weights, except for your mind instead of your muscles!)

    ---

    "Language is merely a way to communicate with the computer. " - by pubwvj (1045960) on Wednesday August 08, @04:49PM (#40922631) Homepage

    Right again - they all pretty much can do the same things (some more than others in some areas, & some BETTER in certain areas as well than others, + vice-a-versa: You learn that some lend themselves to certain tasks, better than others too!).

    ---

    "New languages and development environments come and go. " - by pubwvj (1045960) on Wednesday August 08, @04:49PM (#40922631) Homepage

    They certainly do...which pretty much doesn't matter, as they all can accomplish the same things (for the most part, not every language can do what others can do, for example, direct pointer manipulation &/or memmgt aren't present in them all... but, again - YOU know this!).

    ---

    "Good programmers persist and pickup new languages easily to do the tasks needed." - by pubwvj (1045960) on Wednesday August 08, @04:49PM (#40922631) Homepage

    That's the idea, & yes, THAT comes eventually... after a time (for some, faster than others).

    APK

    P.S.=> I remember 1st learning to code, & I wasn't prepared for it, NOR did I have the mental nature "naturally" for it to be easy for me - I had to learn a "system-of-thought", FIRST... took time, but it came about (& in a strange way, it "changed me" I think as a person in some ways, not ALL good, but mostly). I also recall thinking:

    "What kind of people were meant to do this kind of mental tedium and attention to detail that's like dealing with a retarded child (the computer) & how on EARTH do they manage to get it all working?"

    Well - you get PAST that, & start thinking that way yourself (you think, or sink) & making it happen yourself, eventually...

    ... apk

  52. The Lambda Papers by Anonymous Coward · · Score: 0

    The world was awash in bottom-up programming languages long before they were spread on the Internet. Some guys at MIT even had "The Lambda Papers" (have we forgotten Gerald Jay Sussman and Guy Steele Jr because they don't work at Facebook?). Other than Pascal, which jumped from academia to industry (mostly thanks to Turbo Pascal and the general-purpose PC-comparible computer in the 1980s which allowed anyone to write software, in sharp contrast to today's walled gardens with app stores), most "languages of choice" started small and obscure and were adopted from the ground up by programmers. C is the classic example. While academia was dinking around with Smalltalk and Modula-2, programmers used C.

  53. It's all about the libraries by KeithH · · Score: 1

    It's more important to provide a rich suite of libraries such as "CPAN".

    Students (and new-grads) aren't realistically going to have that great an influence in most business environments.

    Most programmers will happily learn a new language for personal interest but before they start using it professionally, they need all manner of additional features such as support from third party libraries, code analysis tools, IDEs and SCMs, and debugging tools.

    That is a steep barrier to entry.