Arc Forumnew | comments | leaders | submitlogin
Poll: What is your primary programming language?
5 points by lojic 6086 days ago | 33 comments
I would define "primary programming language" as the one you spend the most time programming in - not the one you'd like to be programming in :)
Arc
7 points
C
6 points
C++
5 points
Common Lisp
9 points
Haskell
1 point
Java
11 points
OCaml
3 points
Perl
4 points
PHP
4 points
Python
23 points
Smalltalk
1 point
Ruby
15 points
Scheme
6 points
Other
9 points
Lua
4 points
Scala
1 point
C#
5 points
Erlang
2 points
JavaScript
1 point


4 points by lojic 6083 days ago | link

Here's a snapshot of the current votes in a more readable form:

  ****************** Python
  ************** Ruby
  *********** Java
  ********* Other
  ******* Common Lisp
  ****** Arc
  ****** C++
  ***** C
  ***** Perl
  **** Lua
  **** Scheme
  *** C#
  *** OCaml
  *** PHP
  * Haskell
  * Scala
  * Smalltalk

-----

4 points by dido 6086 days ago | link

Ruby is what pays the bills right now, but as CTO of my own company I've got to always be looking to the future. I bet the company's development on Ruby back in 2002 when the company was founded, and my intuition served us well. Now, I'm betting that Arc or a language like it might well be the cutting edge within the next five years.

-----

4 points by eds 6085 days ago | link

I am curious about the people who claim to use Arc as their primary language. Do they not have jobs or classes that force them to use other programming languages?

-----

4 points by tjr 6085 days ago | link

Well, pg is probably one of them... and some folks likely really are in a position to use whatever language they like.

My day job is avionics software verification, so I don't program much for my job, per se, but what programming I do, I could likely do in Arc, and no one would care, as it's just for internal use.

-----

4 points by almkglor 6085 days ago | link

what, me work? this ain't work, i'm just getting paid for my hobby! ^^

-----

5 points by cooldude127 6085 days ago | link

yes, there are those people who program purely for hobby.

-----

2 points by sacado 6084 days ago | link

I didn't vote up for Arc, but I actually used it at work most of the time for the last month. For what I'm working on, I am free to use whatever I want and Arc really rocks !

And I use it as a hobby, too...

-----

2 points by almkglor 6086 days ago | link

A variant of Lisp called Skill, by Cadence. It's what we use in the office. Also C and a graphical language called LabVIEW, which is really a severely crippled functional programming language in graphic form. And a hardware modeling language called Verilog. All of them used in the office^^. The only thing I won't touch in the office is VBA.

-----

3 points by spydez 6085 days ago | link

Wow. Lisp and Verilog? Sounds interesting.

What are you doing? Building lisp machines on FPGAs?

-----

2 points by almkglor 6085 days ago | link

err, no ^^;. Although I did read Lambda: the Ultimate Opcode, which was plenty darned interesting. http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-...

It's really more that Cadence uses Skill as the extension language for the IC design tools it has - their simulation scripting language is based on Skill. I've built quite a few tools with Cadence Skill, including my current favorite which transforms a simulation script that normally runs on one computer (and dependent on various paths etc. on that computer) into one which can run within a single directory on a target computer - a feat made almost trivial by Lisp-like languages. The major difficulty was with dynamically generated filenames, but all I needed to do is add a table-lookup function around each file reference argument.

I liked Skill and through it studied Lisp quite a bit. Sometimes I use Skill to generate Verilog code ^^, and I model state machines as:

  (input start stop)
  (output idle)
  (state IDLE
    (idle)
    (cond
      ((start)
        (RUNNING))
      (else
        (IDLE))))
  (state RUNNING
    (cond
      ((stop)
        (IDLE))
      (else
        (RUNNING))))
We could even conceptually model individual states as functions (as per lambda the ultimate goto), with inputs as functions (probably querying from the user) and outputs as displaying the output; it would thus be possible to write, at the very least, a state machine simulator in Skill, which would include a method of transforming the state machine into Verilog.

-----

1 point by tel 6085 days ago | link

After a bit of googling...

Skill or Skill++?

-----

1 point by almkglor 6085 days ago | link

Skill++ is integrated into Skill. I actually mostly program in Skill++, but distinction is lost on my fellow engineers anyway, who don't even understand the code == list concept. Skill++ is based on Scheme while Skill is based on an old Lisp, Franz Lisp I think, with dynamic binding. Skill can call into Skill++ and vice versa; Skill is a Lisp-2 while Skill++ is a Lisp-1; the namespace used in Skill++ is the function namespace of Skill.

-----

4 points by babo 6085 days ago | link

erlang, but it's not even on your list:-)

-----

1 point by lojic 6084 days ago | link

added

-----

4 points by Jesin 6085 days ago | link

Java, for a CS class. Meh.

-----

4 points by eds 6085 days ago | link

Yeah, same here. And what really scares me is that no one can see past the prison of Java, not even the professors.

I am trying to convert some of my friends over to the Lisp Way. Making a little progress, but most of my friends don't think they have time to learn Lisp on top of their other classes.

-----

7 points by kennytilton 6085 days ago | link

I have heard that even universities are held hostage by students who view college as merely job training, demanding courses in the languages business cannot see past.

Seems to me the unis should fight that fight, but there are a lot of unis in the US, they have to think about marketing, too.

Perhaps as the IT job market continues to shrink the masses will move on to something else and let the computer science departments go back to teaching algorithms.

-----

3 points by eds 6085 days ago | link

I haven't met many students that are set on learning Java and only Java (or insert other popular language of choice), mostly its just that they don't know anything better is out there. I have, however, met professors who hold very strong, and wildly incorrect views on Lisp (many of which probably haven't been accurate for 20 years or more). But how is a college freshman supposed to tell a guy with a PhD he is completely incorrect?

I've heard claims that they'll let me program in whatever language I want in upper division, but I have to wonder if that is true or not.

-----

3 points by kennytilton 6084 days ago | link

I am just telling you what I heard. From professors. At unis in England, come to think of it. Oh, and Brown, a top US school. Sad, I know. :(

-----

1 point by jcl 6082 days ago | link

IIRC, Brown has two introductory computer science tracks -- one that starts with Scheme and the other with Java, with the Scheme course recommended for majors. They've got one of the PLT Scheme implementors on faculty, too, so some of the advanced courses are Scheme-based, as well.

-----

2 points by ryantmulligan 6085 days ago | link

Currently? Javascript.

-----

1 point by cchooper 6086 days ago | link

C#

That's how I pay the bills.

-----

2 points by lojic 6086 days ago | link

Sorry for the omission :) I did a couple years of C# development back on 2002, but for some reason the whole .NET area slipped my mind. I added C#, but I'll wait to add Visual Basic until someone has the courage to suggest it :)

-----

6 points by cchooper 6086 days ago | link

I used to do VB, but now we've completely switched to C#. Why? Because no one wanted it on their CV.

Seriously, that was the reason.

-----

3 points by treef 6086 days ago | link

should i remove it form my resume?

-----

8 points by cchooper 6086 days ago | link

To be honest, I quite like VB. Maybe it's because my first language was BBC BASIC. Ah, those were the days...

  10 PRINT "*"
  20 GOTO 10
When you're 6 years old, that's the most exciting program in the world.

-----

4 points by sacado 6085 days ago | link

Ah, I remember that too. Those innocent days where most of the problems were like "should I use 'print' or 'input' there ? What's the difference between them ?"

-----

3 points by prime2 6086 days ago | link

Yes, I have removed that and am considering playing down how long I did PHP.

-----

1 point by wfarr 6086 days ago | link

Where's the Elisp option? =/

-----

1 point by mayson 6074 days ago | link

Oberon - specifically the Component Pascal dialect.

-----

3 points by mec 6086 days ago | link

Lua

-----

1 point by cut-sea 6086 days ago | link

Scheme

-----

1 point by chaos 6086 days ago | link

Scala

-----