# What languages do you program in?

**URL:** <https://boards.straightdope.com/t/what-languages-do-you-program-in/39592>\
**Category:** In My Humble Opinion\
**Created:** [November 3, 2000, 7:17pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592 "2000-11-03T19:17:21Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![MysteryFellow63427](https://avatars.discourse-cdn.com/v4/letter/m/a88e4f/32.png) [@MysteryFellow63427](https://boards.straightdope.com/u/MysteryFellow63427)\
**Post date:** [November 3, 2000, 11:47pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/21 "2000-11-03T23:47:56Z")

</div>

Here are the languages I’ve programmed in, fruitiest first:

**Prolog** - I hate this thing. I had trouble getting even my teensy lame-o programs to work correctly.  
**Haskell** - Functional programming is cute, but it’s still a research tool only. (We actually did some limited I/O in this - yuck.)  
**PLEX** - proprietary Telco language (Programming Language for Ericsson Exchanges)  
**Turbo Pascal** - Two solid years in high school  
**Graphical SDL** - nonproprietary Telco/god knows what language  
**SPARC Assembly**  
**Perl**  
**C++**  
**C**  
**Java**

---

<div class="post-metadata">

**Author:** ![dropzone](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dropzone/32/7515_2.png) [@dropzone](https://boards.straightdope.com/u/dropzone)\
**Post date:** [November 3, 2000, 11:57pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/22 "2000-11-03T23:57:25Z")

</div>

> [@](#):
>
> \*Originally posted by Duke \*  
> \*\*Am I the last person left alive who’s programmed in Pascal (none of your new-fangled Turbo Pascal either!) or, even worse, QBasic? \*\*

No, QBASIC was open in a window on my desktop when I posted the OP.

> [@](#):
>
> \*Originally posted by Porcupine \* \*\*But if you’re writing real-time embedded systems, then you’ll care about that kind of thing.

\*\*  
I’ve used OS-9, but not for embedded controllers, and very limited home computers, so I know the importance of fast, compact code.

> [@](#):
>
> \*Originally posted by Tracer \* \*\*…Level 1 BASIC on the TRS-80 Model I that was on display in my local Radio Shack…It was only because of the extreme limitations of Level 1 BASIC, coupled with my cheapskate parents’ unwillingness to spring for a Level 2 BASIC TRS-80 of our own, that drove me to learn Z-80 Assembly Language.

\*\*  
I always thought Level 1 (and Level 2) to be very nice implementations of BASIC, at least compared with the competition. There was a book of routines for it that made for insanely cool business apps.

---

<div class="post-metadata">

**Author:** ![Bumbazine](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/bumbazine/32/362_2.png) [@Bumbazine](https://boards.straightdope.com/u/Bumbazine)\
**Post date:** [November 4, 2000, 5:27am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/23 "2000-11-04T05:27:19Z")

</div>

Hi **tracer,** glad to meetcha.

> [@](#):
>
> AS/400? Whoo, that is boring.

Maybe so, but it feeds the bulldog. In fact that bulldog’s been eating so well lately, he needs to go on a diet.  
Actually, RPG IV is pretty cool, although display screens are still incredibly tedious.

> [@](#):
>
> Nowadays I program almost exclusively in C++, doing ActiveX and MFC stuff.

Yeah, but are you having fun? 😉

> [@](#):
>
> Why VB Script? Everybody knows that JavaScript (or its bastard Microsoft offshoot, JScript) is going to take over the world.

I’d **like** to learn Java. But my boss has some kind of mental block against it. I can’t explain it.  
Anyway, as you probably know, almost any scripting language will work for ASP. Basically, what I’ve done so far calls the DB2 database on the AS/400 using SQL, and then formats the data for browser consumption with a peculiar mixture of VBscript and HTML.  
It’s (relatively) fast and impresses the customers.  
If the customers are happy, my employer is happy.  
And if my employer is happy, he gives me money. 😃  
(I can always plug in some Java script later.)

---

<div class="post-metadata">

**Author:** ![Lexicon](https://avatars.discourse-cdn.com/v4/letter/l/ac8455/32.png) [@Lexicon](https://boards.straightdope.com/u/Lexicon)\
**Post date:** [November 4, 2000, 9:16am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/24 "2000-11-04T09:16:16Z")

</div>

tracer asked:

> [@](#):
>
> VBScript, JavaScript, or JScript?

JavaScript. You? Let me guess… all three? dropzone said jave is boring, but I like it.

---

<div class="post-metadata">

**Author:** ![dropzone](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dropzone/32/7515_2.png) [@dropzone](https://boards.straightdope.com/u/dropzone)\
**Post date:** [November 4, 2000, 3:26pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/25 "2000-11-04T15:26:13Z")

</div>

> [@](#):
>
> \*Originally posted by Lexicon \*  
> **dropzone said java is boring, but I like it.**

Java is boring because everybody seems to be programming in it.

So, any FORTH programmers out there? I once said that I assumed that the only two people who were ever paid to program in FORTH were probably Dopers, so prove me right!

And do any of you program rather than play computer, especially RPG, games because, if you are going to solve puzzles and get your wording just right you might as well have something to show for it?

And why can’t programmers spell? My programmer friends are, as a group, appalling spellers. I would think that spelling would be important in programming.

---

<div class="post-metadata">

**Author:** ![dropzone](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dropzone/32/7515_2.png) [@dropzone](https://boards.straightdope.com/u/dropzone)\
**Post date:** [November 4, 2000, 3:28pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/26 "2000-11-04T15:28:59Z")

</div>

> [@](#):
>
> \*Originally posted by porcupine \*  
> **…It happened to be written in C++, but it could have just as easily been done in C since there were almost no classes. :rolleyes:**

Yeah, I know what you mean. I ended up in a C class because there were no C++ classes at our local junior college. ::rimshot::

---

<div class="post-metadata">

**Author:** ![porcupine](https://avatars.discourse-cdn.com/v4/letter/p/ac91a4/32.png) [@porcupine](https://boards.straightdope.com/u/porcupine)\
**Post date:** [November 4, 2000, 3:44pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/27 "2000-11-04T15:44:46Z")

</div>

> [@](#):
>
> \*Originally posted by dropzone \*  
> \*\*And why can’t programmers spell? My programmer friends are, as a group, appalling spellers. I would think that spelling would be important in programming. \*\*

Cuz thatz whut cumpylers r fore.

---

<div class="post-metadata">

**Author:** ![MysteryFellow63427](https://avatars.discourse-cdn.com/v4/letter/m/a88e4f/32.png) [@MysteryFellow63427](https://boards.straightdope.com/u/MysteryFellow63427)\
**Post date:** [November 4, 2000, 4:15pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/28 "2000-11-04T16:15:10Z")

</div>

> [@](#):
>
> \*Originally posted by dropzone \*  
> \*\*And why can’t programmers spell? My programmer friends are, as a group, appalling spellers. I would think that spelling would be important in programming. \*\*

Nah, the compiler will catch those syntax errors.

Of course, _I_ won 6th place in the Iowa state spelling bee in 8th grade 😃

---

<div class="post-metadata">

**Author:** ![dropzone](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dropzone/32/7515_2.png) [@dropzone](https://boards.straightdope.com/u/dropzone)\
**Post date:** [November 4, 2000, 6:11pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/29 "2000-11-04T18:11:46Z")

</div>

> [@](#):
>
> \*Originally posted by neuroman \*  
> **Nah, the compiler will catch those syntax errors.**

True, but won’t the debugging process be a lot faster without syntax errors?

---

<div class="post-metadata">

**Author:** ![kasuo](https://avatars.discourse-cdn.com/v4/letter/k/8c91f0/32.png) [@kasuo](https://boards.straightdope.com/u/kasuo)\
**Post date:** [November 4, 2000, 8:10pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/30 "2000-11-04T20:10:20Z")

</div>

Pascal  
C++  
VB

HTML  
JavaScript  
Perl

I like scripting languages a lot better. They seem so much more flexible when it comes to variable declaration.

---

<div class="post-metadata">

**Author:** ![dropzone](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dropzone/32/7515_2.png) [@dropzone](https://boards.straightdope.com/u/dropzone)\
**Post date:** [November 4, 2000, 11:19pm UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/31 "2000-11-04T23:19:25Z")

</div>

Pardon a question from an obsolete guy who is not current with the computer languages, but what is a “scripting language?”

---

<div class="post-metadata">

**Author:** ![Mauve\_Dog](https://avatars.discourse-cdn.com/v4/letter/m/ad7895/32.png) [@Mauve\_Dog](https://boards.straightdope.com/u/Mauve_Dog)\
**Post date:** [November 5, 2000, 1:22am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/32 "2000-11-05T01:22:16Z")

</div>

At work I use UniBasic. For recreation, I…don’t program. I’ve take Pascal classes and started a C++ class (I dropped it because the instructor chose to read from the text as his lecture), as well as dabbled in VB and some application-specific programming (scripting?)languages (e.g., FileMaker Pro). I general, however, I’ve just been too lazy to come up with a practical use for any programming outside of work.

---

<div class="post-metadata">

**Author:** ![BlackKnight](https://avatars.discourse-cdn.com/v4/letter/b/eb8c5e/32.png) [@BlackKnight](https://boards.straightdope.com/u/BlackKnight)\
**Post date:** [November 5, 2000, 1:26am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/33 "2000-11-05T01:26:48Z")

</div>

From reading all of the previous resonses, I feel inadequate and ignorant. 🙂

I’ve programmed in:  
QBasic  
Commodore Basic  
the version of basic on my TI-86 (if that counts)  
Javascript  
Java  
C++ (currently learning)  
x86 Assembly (just a “Hello World” program)  
Visual Basic

I’m not an expert at any of these languages, but I’ve gotten pretty decent at QBasic and Javascript/DHTML.

---

<div class="post-metadata">

**Author:** ![Kyberneticist](https://avatars.discourse-cdn.com/v4/letter/k/dc4da7/32.png) [@Kyberneticist](https://boards.straightdope.com/u/Kyberneticist)\
**Post date:** [November 5, 2000, 4:04am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/34 "2000-11-05T04:04:03Z")

</div>

Reasonably conversant in:  
C/C++  
Java  
VB  
Perl  
Lisp  
x86/PPC assembly  
Pascal  
The web stuff (HTML,XML,JavaScript,ASP in Jscript,PHP n so on)  
shell scripting (ksh/sh/bash)

Can read/crank out a few lines in:  
Tcl  
Python

My current addiction is Perl, perhaps it’s the attraction of incomprehensible code without line feeds? 🙂  
perl -e ‘$k=$ARGV[0];print " $k  
";($k\<4)&¨$j=int(sqrt($k))+1;$l=2;while(($l\<=$j)&&($k\>($l\*\*2))){$m=$k/$l;$n=0;while(int($m)==$m){$k=$m;$m=$k/$l;$n++;}($n)&&(print "$l ^$n ($k left)  
");(($l==2)&&($l++))||($l+=2);}($k\>1)&&(print "$k ^1  
");’

I’m sure I’m forgetting something, but if I am I probably would need to play around and refresh my memory of it anyway.  
Oh! QBasic! I actually wrote a little maze game in basic, some fractal stuff… Hm. Think the maze game is on my fried HD :(.

---

<div class="post-metadata">

**Author:** ![Hunsecker](https://avatars.discourse-cdn.com/v4/letter/h/d78d45/32.png) [@Hunsecker](https://boards.straightdope.com/u/Hunsecker)\
**Post date:** [November 5, 2000, 5:25am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/35 "2000-11-05T05:25:41Z")

</div>

> [@](#):
>
> \*Originally posted by dropzone \*  
> \*\*Pardon a question from an obsolete guy who is not current with the computer languages, but what is a “scripting language?” \*\*

Maybe theres a better definition, but here’s what I’ve gathered from the times its been applied to languages I use.

A scripting language generally:

is interpreted, not compiled  
is useful for little utility programs  
has eval()  
has a big standard library

BTW, languages for me:

Use a lot:  
C/C++  
Perl  
Python  
XML/HTML/XHTML

Used for a bit, could still read:  
Dylan  
Java  
Lisp  
Tcl  
csh  
Lingo  
AppleScript  
SQL

Learned for a class, promptly forgot:  
ML  
Prolog  
Pascal  
MIPS assembly

And a few others that are either special purpose, or ones I wrote.

---

<div class="post-metadata">

**Author:** ![dropzone](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dropzone/32/7515_2.png) [@dropzone](https://boards.straightdope.com/u/dropzone)\
**Post date:** [November 5, 2000, 5:30am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/36 "2000-11-05T05:30:26Z")

</div>

And a typical scripting language is?

And I suppose eval() evaluates an expression?

Humor me. I’m dumb.

---

<div class="post-metadata">

**Author:** ![Kyberneticist](https://avatars.discourse-cdn.com/v4/letter/k/dc4da7/32.png) [@Kyberneticist](https://boards.straightdope.com/u/Kyberneticist)\
**Post date:** [November 5, 2000, 6:11am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/37 "2000-11-05T06:11:15Z")

</div>

eval() at least in shell script, is a function that returns the exit status of the arguments given it when evaluated as a command (compare exec()). In general I believe they mean that scripting languages allow easy invocation of external applications - acting as a “glue” to put together pre-existing code. In Perl, anything between `` is evaluated as a command and the output returned. system() does not return anything. You could also use pipes.

---

<div class="post-metadata">

**Author:** ![Kyberneticist](https://avatars.discourse-cdn.com/v4/letter/k/dc4da7/32.png) [@Kyberneticist](https://boards.straightdope.com/u/Kyberneticist)\
**Post date:** [November 5, 2000, 6:13am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/38 "2000-11-05T06:13:27Z")

</div>

> [@](#):
>
> \*Originally posted by dropzone \*  
> \*\*I’m especially interested in languages besides boring ol’ C++ and Java. I’m currently developing a short–and short-lived–program in QBASIC. Modern computers are so fast that there is little real advantage to the more modern languages, especially if you just need to throw something together quickly and easily.
> 
> So, what do you use, and why? \*\*

As to your original question. When forced to use Windows 9x/NT, I install Cygwin shell as soon as possible, then turn on QuickEdit mode. I then compile Perl.

From then on, I have a reasonably fast tool for quick little projects, and a shell I am fairly familiar with.

---

<div class="post-metadata">

**Author:** ![dropzone](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dropzone/32/7515_2.png) [@dropzone](https://boards.straightdope.com/u/dropzone)\
**Post date:** [November 5, 2000, 6:17am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/39 "2000-11-05T06:17:53Z")

</div>

(Watch the scales fall from my eyes as I remember bits of my hard-won education)

Hey! I think I know what you’re talking about! Boy, that sounds almost like fun–quick results with minimal effort, the soul of parttime programming.

I need to learn Perl anyway since the only decent free home automation software I’ve found that works with my stuff gets scripted in Perl. Unless I write one myself–don’t need all the fancy features this one has and want it to run on something less demanding, like my ol’ floppy-only Toshiba laptop. I finally have the QuickBasic subroutines, so all it’ll take is for me to stop wasting my time here.

---

<div class="post-metadata">

**Author:** ![Kyberneticist](https://avatars.discourse-cdn.com/v4/letter/k/dc4da7/32.png) [@Kyberneticist](https://boards.straightdope.com/u/Kyberneticist)\
**Post date:** [November 5, 2000, 6:17am UTC](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592/40 "2000-11-05T06:17:54Z")

</div>

> [@](#):
>
> \*Originally posted by Kyberneticist \*  
> \*\*eval() at least in shell script, is a function that returns the exit status of the arguments given it when evaluated as a command (compare exec()). In general I believe they mean that scripting languages allow easy invocation of external applications - acting as a “glue” to put together pre-existing code. In Perl, anything between `` is evaluated as a command and the output returned. system() does not return anything. You could also use pipes. \*\*

Ok. I have got to go to bed now. 🙂  
system() is like exec() save for a fork - I meant it doesn’t return the actual output. 🙂

[Previous page](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592.md?page=1)

[Next page](https://boards.straightdope.com/t/what-languages-do-you-program-in/39592.md?page=3)
