Page 4 of 5 FirstFirst ... 2345 LastLast
Results 31 to 40 of 47

Thread: Five programming languages to know.

  1. #31
    Join Date
    Aug 2006
    Location
    60°27'48"N 24°48'18"E
    Beans
    3,458

    Re: Five programming languages to know.

    All that crap is because CS is so totally bastardized in many universities. At its best, it is essentially a way of taking an applied math degree, and that's what it should be. Issues like language design are subfields, and there are further connections to many other sciences, but I weep when I see CS degrees including some specific languages... IMO, Lisp is the only deserving one, being abstract enough in the symbolics vs computation sense.
    LambdaGrok. | #ubuntu-programming on FreeNode

  2. #32
    Join Date
    Sep 2005
    Location
    Rural Nevada, USA
    Beans
    308
    Distro
    Ubuntu 15.10 Wily Werewolf

    Re: Five programming languages to know.

    Quote Originally Posted by 1clue View Post
    I agree with previous posters. You will have a huge variation based on what purpose the developers are designing to.

    Right now I'm doing mostly web development, which means I'm really using a stack of languages anyway. Groovy, Java, Javascript, html, Freemarker, sql for several different engines, just off the top of my head, for just the current projects. And all those languages for each project.

    For UN*X scripting, you get: Perl, Bash, sed, awk, ruby. For UN*X developing, C and C++.

    I could go on quite a bit, but won't. Another branch of the discussion actually took my attention, which is the bizarre languages part.

    <digression type="reminisce">

    The one that comes to mind is from back in the late '80s or maybe early '90s called DataFlow. It was a drag and drop "object oriented" language for the Mac. The icon was a toilet, and it had icons for all sorts of constructs and you connected it with pipes. When you ran the program each icon would shake as code went through it, and each pipe would shake between steps. It was buggy as heck, and it would crash but the components would continue shaking anyway, even while you rebooted your Mac. It was totally useless except you could waste a few weekends finding new and inventive ways to make it crash. It also made a pretty good drinking game because it was so slow you could read what happened, and you had a chance to breathe between drinks when your branch of code got hit multiple times.

    Another one from about that time was Hypercard. It was object oriented in a bizarre natural language way, that was I suppose closer to Lisp than anything else I know. At the time 2400 baud modems were pretty high class and 9600 baud was just getting to the experimental stage. The Internet existed and we used it, but it was still only for schools so the BBS was king. My buddies and I were playing a game, I think it was TradeWars. You had to outfit star ships and take over planets, it was fun but an organizational nightmare. I wrote a robot in Hypercard to play the game. I logged in, downloaded the map and got status on all my planets and ships, then signed off. My program would maintain a certain number of troops and ships in each place, and then I would allocate the rest of my resources by looking at the map. Then I would log in and paste the hypercard-generated script into the game. I won the first game after a close battle, but after that nobody wanted to play the second time.

    </digression>
    I'd almost forgotten Hypercard. That was a lot of fun to play with.

    About that same period, I learned a proprietary database + GUI language called 4D, produced by a company called ACIUS. It was actually quite a productive language. It could be run interpreted or compiled, it could be integrated with a relational database or run alone, it could be used to script individual windows, buttons, and other GUI and database features.

    I produced a pretty massive and intricate multi-user data application with it, and had a grand time.

    Twenty years later, I'm now doing something similar with a combination of Python, SQL, and wxPython. It works, but it's just not as seamless out of the box as 4D was.

  3. #33

    Re: Five programming languages to know.

    Quote Originally Posted by 1clue View Post
    In the scenario of an engineer going for CS courses, MatLab and LabView make all sorts of sense.
    That's just it -- Matlab and LabVIEW weren't CS course material; I met them in my engineering courses (and some Matlab in DiffEq and Calc). Same for VHDL.

  4. #34
    Join Date
    Mar 2009
    Beans
    1,630

    Re: Five programming languages to know.

    Quote Originally Posted by CptPicard View Post
    All that crap is because CS is so totally bastardized in many universities. At its best, it is essentially a way of taking an applied math degree, and that's what it should be. Issues like language design are subfields, and there are further connections to many other sciences, but I weep when I see CS degrees including some specific languages... IMO, Lisp is the only deserving one, being abstract enough in the symbolics vs computation sense.
    Back when I went, CS was a part of the math department. It was all highly theoretical with a focus on optimizing code for a specific scenario if the situation could be reliably modeled that way.

    I don't agree with you about Lisp being the only deserving language though. The new guys we get are totally oblivious about real-world programming when we get them, kids need to learn a combination of the theory and get a test of practical reality as well, and hopefully find a happy medium that amounts to good code for the task at hand.


    Quote Originally Posted by llanitedave View Post
    I'd almost forgotten Hypercard. That was a lot of fun to play with.

    About that same period, I learned a proprietary database + GUI language called 4D, produced by a company called ACIUS. It was actually quite a productive language. It could be run interpreted or compiled, it could be integrated with a relational database or run alone, it could be used to script individual windows, buttons, and other GUI and database features.

    I produced a pretty massive and intricate multi-user data application with it, and had a grand time.

    Twenty years later, I'm now doing something similar with a combination of Python, SQL, and wxPython. It works, but it's just not as seamless out of the box as 4D was.
    That's crazy! I forgot all about 4D, I used it in my first programming job. I also made a complex database app out of it, and it totally slipped my mind.

    Quote Originally Posted by trent.josephsen View Post
    That's just it -- Matlab and LabVIEW weren't CS course material; I met them in my engineering courses (and some Matlab in DiffEq and Calc). Same for VHDL.
    But it's good to get exposure, even if you don't plan to go into that sort of field. It's good to know that those sorts of things exist, and get a foothold into the way they work. I know, you can't get exposure to everything and know anything at all when you get done, but you can get exposure to categories of languages.

  5. #35
    Join Date
    Jun 2009
    Beans
    355

    Re: Five programming languages to know.

    I'm probably under-qualified to answer this but my recommendations would be:

    C - It's good to know something so close to the metal. Leaky abstractions and all that.

    Java - It is kind of a messy, but when it comes to OOP ideas, you can learn a lot from using it. Plus the JVM is very nice - if you decide to use something cooler like Scala or Clojure, you'll know how to interface with the standard Java libraries.

    Python - I recommend this as the first language for anybody to learn. It is probably the easiest language to learn ever.

    A Lisp - All the cool kids know lisp. Somebody more qualified can probably explain why it's loved so much - I'm still learning. At the very least, functional programming is much easier than for the above languages.

    SQL - despite recent trends, RDBMs still rule the world. In addition I've heard that too many people rely too much on ORMs these days without knowing what's happening underneath - knowing SQL would go a long way towards fixing that.

  6. #36

    Re: Five programming languages to know.

    Quote Originally Posted by 1clue View Post
    But it's good to get exposure, even if you don't plan to go into that sort of field. It's good to know that those sorts of things exist, and get a foothold into the way they work. I know, you can't get exposure to everything and know anything at all when you get done, but you can get exposure to categories of languages.
    Oh, I agree absolutely. I'd say I was/am better prepared for real-life programming work than many of my contemporaries who were CS majors. I'm speaking somewhat out of turn, since I wasn't part of that program and am not familiar with the content of some of the upper-level classes, but I feel that the curriculum was essentially theoretical, even though it was "sold" as preparatory to a real-life job in software development. It's also been my impression that this is a systemic problem and not specific to my own university. But we digress.

    (I mean, honestly, testing is not a senior-level topic. If anything, it should be part of the freshman curriculum, along with documentation and revision control. Those are far more useful than knowing the difference between bubble sort and selection sort. /rant)

  7. #37
    Join Date
    Mar 2009
    Beans
    1,630

    Re: Five programming languages to know.

    Quote Originally Posted by trent.josephsen View Post
    ...<chop/>
    (I mean, honestly, testing is not a senior-level topic. If anything, it should be part of the freshman curriculum, along with documentation and revision control. Those are far more useful than knowing the difference between bubble sort and selection sort. /rant)
    +1000!

    IMO the Hello World app that they teach should start with a test to verify that the output is "Hello, World!" and then you write the hello app until the test passes.

    And then, maybe second semester, you should get some software design theory, especially the use of ubiquitous language instead of prolific but nonfunctional comments.

  8. #38
    Join Date
    Jan 2013
    Beans
    1

    Unhappy Re: Five programming languages to know.

    I agree that Erlang is a great language to know, but in Ubuntu, Erlang developers are second-class citizens--there's no easy way to install the official Erlang package with the standard wx gui framework that the rest of the Erlang world uses.

  9. #39
    Join Date
    Sep 2009
    Beans
    217

    Re: Five programming languages to know.

    I'm sure I've done one of these before but...

    Just a quick run down of terms:

    Mastered - who needs any references? I could write an interpreter/compiler for the language off the top of my head (standard library included!)

    Know well - A library reference would be nice, but I don't need a language reference

    Passing knowledge - I need a library reference and language reference too

    What's this? - I can probably read it... if I squint real hard, but I can't write it without a lot of effort

    No knowledge - everything else obviously

    -----

    Know well:
    C, Go, Haskell, Java, SQL, JavaScript, MIPS Assembly

    Passing Knowledge:
    Scheme/Common Lisp, Python, C++, Various Shells, Ocaml/SML

    What's this?:
    Ruby, Perl

    -----

    So what's my favorite 5?
    C, Go, Haskell, SML, Scheme

    Least favorite 5?
    C++, Java, Perl, Ruby, and most Shells (they usually work well as command languages, but I don't particularly care for them as scripting languages.)

  10. #40
    Join Date
    Jul 2012
    Location
    Elmira, NY
    Beans
    233
    Distro
    Ubuntu 14.04 Trusty Tahr

    Re: Five programming languages to know.

    I started learning c++, and then switched to Python for a year, Now i am just starting to go back into c++. I chose c++ because it is a low level, and python because it high level, and because i can write python 10x quicker than c++, and debug it 10x times quicker. Other than those two languages i dont plan on learning any more for awhile unitll i feel more comfortable with c++, which i plan it will be a few years at least. I can do what i want to do with python alone.

Page 4 of 5 FirstFirst ... 2345 LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •