
Ask HN: What “old” programming languages will you still be using in 2017? - _of
And what is the purpose?<p>I&#x27;m still using bash, awk, and a bit of FORTRAN for scientific computing.
======
reikonomusha
Many folks have said it here but I'll say it again: Common Lisp.

I have been using it professionally for 5+ years as a full-time employee at
various companies. Some big-name ones, some smaller start-up ones. The mean
Lisp team size has been around 4, but I did work on a project of 15 Lisp
programmers. None of these projects were legacy code. Some were in places you
wouldn't expect (embedded, multi-processor systems on custom-designed boards,
for example). In every single case, we had no additional trouble hiring a Lisp
or Lisp-capable programmer as compared to hiring for any other language,
including Python. (In fact, Python was more difficult to hire for because the
market is saturated with beginners who claim expertise.)

Lisp is one of those languages where the ratio of long-term benefits and
productivity vs. good initial impressions is at a record high. It doesn't look
like C or Python or JS, with all the parentheses, so people brush it off.

Lisp isn't the pinnacle of every great idea to come about in computer science
and software engineering, but it is one of the most robust, macroscopically
well designed, and most productive languages for translating arbitrary
abstract ideas into maintainable, production code. Even if it doesn't look
initially very pretty in the eyes of a career Python programmer.

~~~
BeetleB
>In every single case, we had no additional trouble hiring a Lisp or Lisp-
capable programmer as compared to hiring for any other language, including
Python

Doesn't that imply an over-supply?

I did my grad research on a highly specialized topic, involving plenty of
math/physics.

Then I worked in industry applying my skills for 4 years.

Then I switched to programming - nothing related to my engineering degrees.
This job requires only a BS (and not really that - one of my coworkers has no
degree).

The highly specialized job was the one where I had little leverage, lower pay,
and a miserable experience. Why? Fewer jobs than supply.

Whereas for programming, the supply is _much_ larger than for the specialized
work, but the demand is even larger than the supply.

The geek in me yearns for a job where I can go back to numerical algorithms
and physics. But frankly, those jobs tend to suck when you don't have much
leverage.

~~~
reikonomusha
Does it indicate over-supply? Maybe, but it's probably a bit more complicated
than that. There is a very large supply of self-proclaimed Python programmers.
(There's no official accreditation of this, of course, so we can only go by
self-proclamation.) But this is unlike, say, raw materials supply for building
a bridge. A lot---and by "a lot", I mean enough to be noticed when hiring---of
the "Python programmer supply" is under-skilled. So, in reality, and limited
to my own experience, the supply of skilled, knowledgeable Python programmers
is much less than that of the total supply, so I'm not sure I'd label it as
"over-supply".

With that said, though, and especially with huge companies like Google using
Python as one of their main languages, the supply of qualified Python
programmers is no doubt larger than that of Lisp. But, it's a fallacy to
believe that the supply of qualified programmers correlates inversely to the
time spent searching for them. It's sometimes easier to find needles that
standout in the haystack.

As for software jobs in the domain of math/physics/etc., they're out there,
but just harder to seek out. The world hasn't run out of hard science problems
to solve, and many companies would go to great lengths to hire brilliant
individuals who have both scientific acumen and programming skills.

~~~
BeetleB
>As for software jobs in the domain of math/physics/etc., they're out there,
but just harder to seek out.

I'm well aware of that. However, my experience is the working conditions are
poor. Some do have a higher salary, but everything else seemed worse.

Also, not entirely related, but it does suck more when you're working on a
very challenging problem, and can't fully crack it on the company's desired
schedule. You get negative feedback with veiled threats about losing your job.
When you're in that situation, and realize that you can get a much easier job
with similar pay, you have to ask yourself whether the risk of working a
"science" job is worth the rewards.

It was all fun in grad school, where the deadlines were much looser and you're
not worrying about saving for family, retirement, etc. But it really sucks if
your livelihood is at stake merely because you wanted the thrill of working on
a more challenging problem.

~~~
throwaway7645
I've often thought it's probably like that. I'm an engineer solving
complicated problems, but nothing cutting edge. Hours and pay are good.

------
ptaipale
\- sh (I really don't use bash features in scripting)

\- awk

\- perl

\- sed, if that counts as language.

It's funny that a course that I took in university almost 29 years ago, for
learning the use of Unix scripting tools, is one of the most useful learning
experiences in my daily work today - even if my job is not really a
programmer. But very often I see colleagues (project managers, architects etc)
struggle with processing information in ways that involve a lot of repetition
and manularity. Scripting solves those things.

(For some things also Excel and VB perhaps counts as an "old" programming
language; it is also often quite useful. And I probably will end up doing
something in C again this year.)

~~~
shanemhansen
As always there's a relevant xkcd.
[https://xkcd.com/519/](https://xkcd.com/519/)

~~~
chubot
Too true. When I was 13 or so, I read the DOS 5.0 manual from cover to cover.
If I recall, a lot of it was about batch files (autoexec.bat and stuff). Batch
was really my first "programming" experience.

Then when I was 22, after a good computer science education, my first job was
working at EA, and the build system involved a bunch of batch files. That
knowledge from nearly a decade before came in handy! The CS stuff didn't come
up until later.

~~~
libraryatnight
I studied English lol. My whole career is based on my weekends. My education
helps me write eloquent email responses, though.

~~~
Insanity
Eloquent email responsed are not to be underestimated, being able to
communicate in clear language is a valuable skill.

~~~
stinkytaco
I find that clear notetaking is amazing in guiding discussions. Being the one
who sends out the meeting summary with next actions and clarifying remarks or
being able to refer back to meeting notes gives me an amazing power in making
decisions or resolving disputes. Just because I'm the one who's writing stuff
down, I'm somehow given the authority to say "this is what we decided at the
meeting".

~~~
Insanity
Absolutely! Can I ask if you are taking these nodes the old fashioned way with
pen and paper or are you using a program to do this?

I myself have found out that during meetings I prefer to use a pen and paper
but it is mostly just notes that I take for myself.

~~~
stinkytaco
It varies. I'm often tinkering, which is a problem, I know. I've used a
notebook, a Surface pen and One Note, a text file, scribbles on the agenda for
the meeting (if there was one). It depends if it's a teleconference or not,
whether my laptop battery is charged, if I can find a nice pencil, etc. etc.
as well.

The summaries always go out as emails, of course, and if I paper note-take, I
try to take a picture and upload it to onenote or sharepoint.

~~~
libraryatnight
We use a record feature in Zoom for our teleconferences that we want to save,
but notes are always better because you can review conclusions without the
noise of skipping through discussions. It'd be amazing if there was an
application that recorded meetings then summarized them.

------
geebee
SQL. If I had to pick a language that I'll use my entire career that's the
one. It has been overused and underused, but always relevant.

~~~
shaftway
I love that I'm at a company that I haven't had to use SQL. I don't know if I
could even find a relational database here.

But in a classic meme sense: "It isn't you I hate SQL, it's what I have to
think about when I use you." I don't want to spend my time thinking about
database indexes, query plans, or other complicated bits. I just want to get
my data out.

Sometimes I struggle, and I'd give anything for a plain inner join, but on the
whole I like this tradeoff.

~~~
danso
I still teach SQL, via SQLite, as a first language to students, even though in
practice I do 90% of my data analysis through the command line or Pandas. But
SQL is very direct and clear as a language, and the overhead of SQLite
is...well, light. Making an index is just one more line of code that for many
datasets, you run once and never touch again.

What do you find simpler in terms of data querying and management?

~~~
maxxxxx
The functionality of SQL is great but I really wish it would like more look
like other programming languages. I wonder how SQL would look like if someone
would design it now.

It also should integrate easier with other languages. Using SQL from C# or C++
is a real pain with tons of casts and string manipulation. Better debugging
would also be nice.

~~~
dx034
I found that SQL is actually an excellent language for people with no coding
background. Especially in the BI field it's easy to teach people SQL so that
they can perform their own (often quite powerful) queries. It's much easier
than learning a proper programming language.

A re-design might be nice for programmers, but would likely lock out most
people with no programming backgrounds who work on databases.

~~~
maxxxxx
Maybe simple queries like "Select where" are intuitive for non-programmers but
once you start joining tables things get pretty ugly. Also, the syntax for
UPDATE is totally different from INSERT although they do similar things. Why
does UPDATE use key value pairs but INSERT uses list of column names followed
by list of values?

Since Javascript is the best programming language ever (so I hear :-) ) maybe
using Javascript syntax and objects would be nice.

~~~
dx034
I absolutely agree that INSERT statements should use key value pairs. It would
eliminate many errors where columns were switched accidentally.

------
paulrpotts
Lots and lots of C. (I'm mostly an embedded C programmer these days). Some C++
for a bit of higher-level "business logic" that benefits from a class-based
approach, but a fairly limited subset of "modern" C++.

~~~
randomthrowr88
Serious question: How does one get into this C embedded stuff?

I'm addicted to low-level "embedded" type work. But all I hear back from are
Django, RoR, $HOT_JS_FRAMEWORK, DevOps teams/recruiters.

Is there some buzzword or special topic to know and do a project in? Any
suggestions for projects to display on GitHub, topics to know through and
through (domain specific knowledge)?

I sit at work thinking all day about RasbPi sensor projects sitting on my
workbench collecting dust due to job+young kids.

~~~
ereyes01
Search for companies that need to design sophisticated hardware at very low
cost. This pretty much guarantees they need to hack microcontrollers, which
are usually programmed in C. One I've worked with in my past life as an
embedded developer is TI MSP430 (costs pennies), but there's many others.

Another route to code in C close to the hardware is to find work writing Linux
kernel device drivers. Of course, you have to know the Linux kernel fairly
well in addition to being a good C programmer to land that sort of job.
Companies that need this skill include server manufacturers that design their
own network interfaces and such, and perhaps phone manufacturers, or companies
that design their own SoC's (Qualcomm, TI, etc). Maybe some IoT startups need
this skill as well.

Yet another way to code in C is to work in a place that needs to program DSPs.
Usually, this also requires knowledge in video/audio engineering. Companies
that need this skill design and sell devices that do some sort of video /
audio encoding (like video conferencing devices, etc).

I'm sure there's many others I'm not thinking of. I hope this helps...

~~~
ryandrake
+1 for device driver writing. That's how I got my start over a decade ago.

------
networked
Tcl. It works really well as a cross-platform (*nix/Windows) alternative to
shell scripting that doesn't suffer from the same problems as the POSIX shell
(see [http://www.dwheeler.com/essays/fixing-unix-linux-
filenames.h...](http://www.dwheeler.com/essays/fixing-unix-linux-
filenames.html)). It builds on the same foundation of everything being text
but with a few changes to the substitution rules builds something a lot like a
Lisp on top of it.

~~~
vram22
Can it integrate with Unix command-line filters and tools roughly as well as
shell can? Interested.

~~~
pwg
That depends upon your definition of "integrate".

It can read/write stdin/stdout (just as any scripting language can) so it can
be used to write additional filters/tools that don't exist in the standard set
that can then be used from shell as with any other tool.

But if you mean using it to create a pipeline out of existing command line
tools, then yes, but with a bit more boilerplate than plain shell needs. The
built in "exec" command has an almost shell syntax for starting pipelines, and
the "open" command supports the same syntax, so it is 98% "as well" in that
regard. But to avoid getting stuck in a deadlock trying to write data to a
pipeline that is returning filtered data to the script requires turning on
Tcl's event driven file IO, which is where the extra boilerplate comes from.

~~~
vram22
>That depends upon your definition of "integrate".

I meant roughly all that can be done with shell, except maybe somewhat
differently (due to Tcl's different syntax or features). The usual things:
call existing command-line tools, write scripts in which you use its own
syntax/features as well as call / pipe between / orchestrate command line
tools, redirect std I/O, etc. - the things that make the shell powerful.

Thanks for the reply. Seems like it is close to equivalent from what you say.

------
aloukissas
Most of my work is in C++, which is almost 35 years old. By far the best
choice of language for cross-platform, client application development,
especially C++11/C++14, which bring modern language features (e.g. lambdas,
futures, etc) with all the original benefits of the language.

~~~
alfalfasprout
Hands down the best thing about C++ for me is that with modern C++ you can
write relatively safe clean code while taking advantage of decades of robust
libraries.

Yeah, Rust is a big step forward in some respects, but it'll be almost a
decade before we see it catch up to C++'s incredible ecosystem. C++ is almost
the lingua franca of finance, for instance.

~~~
computerphage
Rust can already take advantage of the C ecosystem quite easily. Rust/C++
usability is a major goal for 2017. I'm hoping that by year end you can have
the best of both worlds. The advantages of Rust for new code and the mountain
of code that exists for C and for C++.

~~~
alfalfasprout
Well, the C ecosystem has always been easy. The nice thing about C is that
generating bindings is a breeze.

I've never been a fan of bindings to C++ libraries. They usually always feel
cumbersome and hardly idiomatic. Like it or not, the best way forward is to
bite the bullet and slowly natively reimplement the libraries we need in Rust.

I'm starting some work next year on writing some of the basic libraries that
someone in the electronic trading world might want to start writing
applications in Rust (a FIX/FAST engine and a port of the Aeron message
transport). I'm already also writing a native Rust port of our internal
consolidated market data library. We already have a Go port along with the C++
code and plan on open sourcing these pretty soon. This stuff tends to be
highly proprietary and slow to develop so hopefully we can get some of the
more cutting edge users to pitch in and get more people using the language.

------
dwarman
Too old for any one language to have lasted my entire career. But:

C for (embedded(embedded))* audio DSP engine, with hardware specific
intrinsics and occasional drops into inline ASM when those fail. When every
cycle counts and Hard Real Time contracts must be met, to me it is anathema
for any invisible compiler-generated code to exist - such breaks the required
determinism. So no C++. Would write in pure ASM in the old days. Still want to
- most times the C preamble/postamble is not needed in event handler
functions. But TPTB dictate otherwise. Small talent pool and they want Jr
progs to take it over.

FORTH as the most useful interactive hardware/low level software debugging
tool for behavioral debugging (vs post mortem breakpoint debugging, which
loses the behavioral context). Used to use hardware logic analysers for this
but system complexity out-grew them. I should note I am not using a commercial
FORTH, rather a freeware core greatly extended and modified by me for this
purpose. Used it in several projects with different CPUs and architectures
over the years. Can feed it C headers for readable dumps too (translator
written in PERL). Key point: does this while the target continues executing.
Caveat: do NOT use unless you know and understand every line of code in the
engine and its implications for the target system. Given that, it's the
sharpest double-edged handle-less debugging tool I've ever found.

* the DSP engine is embedded inside a larger embedded system. All inside the same chip. Makes for interesting times when one cannot touch it directly in main OS land.

------
noonespecial
Pascal/Delphi

Before there was an internet of lightbulbs and smoke detectors, there was an
internet of industrial process things.

And they used windows 2000 and Delphi. They _still_ do.

~~~
PeCaN
There are still a bunch of modern Windows desktop applications written in
Delphi and C++Builder – I work on one of them. ^_^

I really like Delphi actually. It's a shame Embarcadero doesn't really seem to
care about it.

~~~
pjmlp
Delphi and C++ Builder downfall sadly started when Borland went greedy and
started to scare customers with their lack of business focus, specially the
spin off.

~~~
kej
I think their biggest mistake was trying to follow Microsoft into .Net instead
of taking over the native desktop development niche. A native Delphi 8 with
some VB6 import tools would have done wonders for them.

~~~
pjmlp
Don't agree.

Their biggest mistakes were focusing on enterprise life cycle tools, selling
the developer tools unit, creating an half hearted port of Delphi to GNU/Linux
based on WINE, letting all the key developers leave the company.

All these together created the image that most of us should leave Delphi and
C++ Builder while it was still affordable to do so.

~~~
chadcmulligan
They have had so many mistakes over the years, embarcadero with their
predatory pricing has finally chased me away

------
aerique
Lisp, and specifically Common Lisp although the latter isn't that old.

It first appeared in 1984 and the ANSI specification was finished in 1994, but
it traces its lineage directly back to Lisp 1.5 from 1962. It can run Lisp
sources decades older than it trivially.

It is a very practical, multi-paradigm language with high quality, high
performance implementations on many platforms.

Its main issue is that it is not very popular, but that might also be a
blessing.

~~~
agumonkey
I'll add elisp there.

------
mikelevins
Lisp. For all purposes. It conquered my brain in 1988 and ever since then it's
the first thing I turn to whenever it's an option. My favorite Lisp ever was
Ralph. My favorite nowadays is Common Lisp. Generally speaking, I like any
Lisp better than anything else, but I prefer those that preserve the whole
interactive programming-as-teaching culture in all its glory.

Python for when someone needs me to work on Django, and also for helping my
younger daughter learn programming, because it's a pretty accessible place to
start.

C when I need to be that close to the machine and there's some reason not to
use Lisp.

------
CalChris
C (I hate C++)

assembler (various) (I've even learned x86_64 well after being a RISC
aficionado, it's actually kinda neat)

sed

bash

LaTex

I used to use YACC/LEX but that's been replaced with ANTLR for awhile now.

What language am I starting to use? Rust and R.

I wrote something in PERL once but when I woke up the next day I couldn't
really read it. So that was that.

~~~
khedoros1
Perl makes it easy to write line noise, and only _possible_ to write legible
code. That possibility also goes mostly out the window as soon as you use the
real strength of the language (regex).

~~~
majewsky
Regexes support whitespace and comments, and can easily be composed. But I
agree that an effort needs to be made to write legible Perl code. "Perl Best
Practices" is required reading for any professional Perl programmer.

~~~
singingfish
Aye, you know you're starting to reach expert level once you understand the
parts of that book which should be ignored.

for OP: Perl is a rich and deep language. It's as or more comptetent as
exactly the same things as ruby and python (although pythons maths, and
keeping management happy libraries are better, perl's async and systems
wrangling )support is better. It is more permissive than you would want in
some circumstances, but in my experiencing running a competent perl team with
supportive management is a pleasure.

------
lacampbell
Ocaml (which will turn 21 this year).

It really hits a sweet spot for me:

\- fast executables

\- fast compile times

\- very expressive

\- good standard library in 'Core'

\- a REPL so you can easily play around with code you have just written

\- a type system that's really useful for catching bugs

\- imperative programming is relatively easy

I find myself becoming more and more productive. I will have to see if writing
a little server for JSON web API sitting behind nginx is feasible - currently
using ruby for that.

------
hprotagonist
I do scientific computing in academia.

Secretly, it's just fortran all the way down, and LaTeX for document
preparation.

Piled on top of that is a fair amount of matlab, simulink, and python.

~~~
alfalfasprout
You know, modern Fortran isn't awful. Fortran 77 code however, is
frighteningly ugly to look at.

~~~
chestervonwinch
IMO, it's more than _not awful_ , it's great! I wish I had picked it up sooner
as a mid-level language for mathematical and scientific computing (over C++).
Additionally, you can connect Fortran to Python dead simple with `f2py`.

~~~
m_mueller
IMO the ongoing trend of moving everything academic to C++ is just awful. I
still don't get why everything thinks a language-to-rule-them-all is what
should be used by default, especially in the age of LLVM. IMO Alan Kay and his
research group has always had exactly the right ideas in this regard. I think
iPython/Jupyter + Numpy + some kind of JITed Fortran 2008 environment with
accelerator support would be a nearly ideal scientific computing environment.
Basically a free, open source and blazingly fast (HPC ready) version of
Matlab.

~~~
hprotagonist
this is how my field is going. (biomedical/neurosci). Of course, since numpy
is effectively a nice shell on top of linpack, my original assertion still
holds.

------
lgessler
MUMPS. Despite its strong resemblance to compiler IR and lack of a type
system, it is the standard DB in Health IT in America.

~~~
kiernanmcgowan
I'm going to take a wild guess - EPIC?

~~~
lgessler
Heh, of course the Madisonian would figure it out :)

------
tmaly
Perl 5, I have been using it in Financial Services for the past 12 years. It
is still a workhorse when it comes to reporting. Many large banks still use
it, but most don't advertise it. I used it at places like Intel back in 1999.
It really is a versatile language.

~~~
collyw
I switched to Python a few years back mainly for Django, but Perl still does a
number of things better (regexes, interacting with the filesystem for
example).

~~~
singingfish
My understanding is that django/sqlalchemy and catalyst/dbix::class are
equivalent. The former being better at keeping managers happy, the latter at
keeping the right kind of programmers happy ( due to the superior
flexibility).

~~~
collyw
I did try Catalyst but being Perl and "more than one way to do it" caused me a
lot of confusion (you could replace the template engine, the ORM and other
parts to the point where I didn't know what the framework actually was).

Django was a bit more beginner friendly for someone new to a framework, and
the documentation is really good. And the Django admin is one of the best ways
to get something up and running quickly, there wasn't a Perl equivalent when I
was trying Catalyst.

~~~
tmaly
Mojolicious is a really nice alternative to Catalyst.

------
omnibrain
Delphi

I'm in the process of "inheriting" a company whose sole product is a multi
million LOC behemoth written in Delphi. The product itself is a highly
customizeble/parametrizeable control software for business processes/alarm
management build around a rule engine for rules drawn in a graphic editor.

~~~
krylon
I inherited a Delphi program written in-house for our accounting department.
Thankfully it's only about 10,000 lines of codes, and the code is quite
readable. But I still have to explain to our accountants how little I know
about accounting (it has something to do with money, right?).

On the plus side, Delphi is quite easy to read. I got started with no prior
knowledge in Delphi or Pascal, and I was able to roughly understand
significant parts of the application within a few days.

------
lb1lf
Siemens Step5 (for maintaining an installed base of S5 PLCs - the most
indestructible piece of computing hardware ever designed, IMHO.)

Also, some work in MPASM (Assembly for the Microchip PIC series of
microcontrollers - same reason)

Edit: I am not sure just when S5 got introduced, but I've got installation
media - on 5.25" floppies - for CP/M in my office. Made in West Germany.

That old.

Luckily, the IDE has also been ported to more contemporary operating systems.

------
shanemhansen
lisp: It excels in "key algorithmic techniques such as recursion and
condescension". [http://james-iry.blogspot.com/2009/05/brief-incomplete-
and-m...](http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-
wrong.html)

~~~
nickpsecurity
Almost didn't read it thinking someone was going Total, LISP Weenie in there.
Glad I did: it's a parody of a bunch of languages with some great laughs.
Can't even pick a favorite haha. Thanks.

------
mercurialuser
I will use Clipper open source alternative called Harbour.

I started using Clipper in 1986 and some of 1986 code still runs today.
Clipper was a compiler for Ashton tate dbase II language.

Harbour now allows to run old code on windows, linux, Mac, Solaris and a bunch
of other less common OSes, both in text mode or using some gui lib. It will
also run on android and ios (using Qt).

~~~
charlieflowers
Wow! I had no idea Clipper was still around. I was using it in 1993 with code
blocks (essentially lambdas and first class functions, but not closures).

~~~
danoli
Holy cow. Used this for a summer job at an agricultural cooperative. Some
special linker was a big help, and so were the trade journals (which I would
have to track down for this to make sense).

Blast from the past.

Also, the floppies got wiped out on the way to the big demo, 'cause the
backpack was up against the car speakers in the back seat on the way there).
Maybe '91.

------
cle
Perl is one of those languages that nobody likes at my work, but that is
impossible to get rid of.

Java is in the same boat, but at least it's still marketable so engineers
don't mind working with it as much.

~~~
myblake
I once worked at a place that basically just used perl server side. In this
decade (2010s). The codebase was just one tangled mess.

They told a story of a guy who failed the cultural interview because he told a
VP "you can't write a large web app in perl", and of course they had done just
that. With the reflection of hind sight I think despite the obvious empirical
counter factual, he was on to something. It really was an uphill battle
against the language to do things large scale.

~~~
achileas
In my company we primarily use Perl, but it's just on my team for our ETL
pipeline. It works really well, especially since we modernized our older code
and enforced really tight code standards. To use Perl end to end, well, there
are modules for that (such as Dancer), but I can't comment on them because
I've never had to use them.

~~~
CodeWriter23
I recommend Dancer, actually Dancer2 now. So easy to write web apps.
Maintainable ones too! Most of the basics of app security are covered within
the framework. And where there are gaps (like CSRF tokens), it's trivial to
add primitives via DSL.

------
mfontani
Perl 5, of course!

It's an awesome language and both the language and the ecosystem is getting
better and better all the time

~~~
throwaway7645
What do you do in Perl?

~~~
achileas
Not the OP, but in my company we use it for our ETL pipeline. I've grown to
really enjoy it as a language.

~~~
throwaway7645
I've used it here and there and don't think its near as bad as people say.
Perl6 is a good design, but if the implementation doesn't get sped up, I don't
see it taking off.

------
cthulhuology
I've been falling back in love with Forth, and specifically SwiftForth
[https://www.forth.com/swiftforth/](https://www.forth.com/swiftforth/) the
full source code to everything comes with the paid version, and you can
literally change everything. So much saner and cleaner in implementation than
shitstorms like Go, GCC, LLVM, and Java.

~~~
vram22
What do you use it for? I had tried it some years ago during a vacation, and
liked it. Not used it for any production thing.

------
bbarn
"classic" asp. Still have some crappy legacy pdf generation code no one is
willing to invest the time to rewrite into here. Fortunately that's all of an
update a year or so.

~~~
haroldp
I know that pain.

~~~
scandox
I get a call about once a year from somebody who I did a favour site for in
2001. Still running. Still breaking.

~~~
dsp1234
From a contractor POV, I love these calls. The hourly rates are high, and the
work is generally easy.

------
tbirrell
_uses PHP and JS_

Those aren't old enough to count, I guess

 _googles age of PHP_

Holy crap! PHP is almost 23 years old. Probably still not considered "old"
though...

~~~
mc42
JS is actually 21 now. According to wiki, it was developed under codename
"Mocha" and shipped with Netscape Navigator 2.0. [1] "May 23, 1995"
Personally, I'm pretty sure the version of "JS" when it was first released and
more modern JS share very little other than logic and symbology, I think that
can be said for many programming languages.

[1] -
[https://en.wikipedia.org/wiki/JavaScript](https://en.wikipedia.org/wiki/JavaScript)

~~~
disordinary
I have a feeling that by "old" the topic creator actually meant less relevant
than it once was. Both languages are still very relevant and therefore out of
the running. PHP may be waning but it still powers a huge chunk of the
internet, just think about all those wordpress blogs.

------
lakkal
Visual Foxpro. The application originated in 1986 or so and the original
language was dBase II, but moved to FoxBase in 1987, and FoxPro/Visual FoxPro
over the next couple of decades.

I do as much in Python as I can justify, but I still have to work in VFP quite
a bit. I personally have code from 1988 that's still running in this
application.

Sigh...

~~~
ericcholis
Just found this comment, which mirrors my sentiment exactly. Quite a bit of my
time is spent on modern infrastructure and languages. But, the rest is spent
maintaining a VFP application from early 2000's

But, I'll give FoxPro one plus, it can integrate quite well with REST APIs.
Hell, even modern SQL databases are fine.

------
ianmcgowan
I still get paid to program in Pick Basic
([https://en.wikipedia.org/wiki/Pick_operating_system](https://en.wikipedia.org/wiki/Pick_operating_system))
which seems kind of unreal in 2017.

~~~
franze
Whatfor?

~~~
ianmcgowan
Line of business application for leasing companies.

------
gwu78

      assembly 
      apl (k4)
      forth (bootloader)  
      snobol (spitbol)
      C (small subset)
      sh (Almquist-like)
      sed (not GNU)
      nawk (do not use added functions such as strftime)
      execlineb

~~~
davidwihl
what in the world do you still write in snobol / spitbol? I haven't heard
anyone even _mention_ that language since 1983.

~~~
nickpsecurity
People mention it here on occasion for how it handles string processing.
Experts in such things might want to dive deep in a review of it for the rest
of us.

~~~
jsgrahamus2
Icon was also produced by the same man, Ralph Griswold. And it has inspired a
newer incarnation, Unicon. I imagine each would also be pretty good at string
processing.

------
peterkelly
As a hobby this year I'm beginning to experiment with mechanical computer
designs, implemented in Lego Technics (yes, really). That's going to involve
looking back to Turing machines, Babbage's difference engine, the Pascaline,
and various other contraptions. I guess you could consider the means of
encoding instructions for such machines to be programming languages, albeit
very primitive ones.

Here's a couple of machines that others have built:

[https://www.youtube.com/watch?v=FTSAiF9AHN4](https://www.youtube.com/watch?v=FTSAiF9AHN4)

[https://www.youtube.com/watch?v=i_u3hpYMySk](https://www.youtube.com/watch?v=i_u3hpYMySk)

------
gkya
Emacs Lisp. I want to port all my remaining sh awk and perl stuff to it, and
I'll havee some time to do that in the coming weeks.

Also, m4. I use it together with awk and bmake for a couple websites. I plan
to port awk scripts to sth. else though, I keep forgetting awk.

~~~
josteink
Emacs lisp is just so immensely sticky... once you cross the initial "what's
up with this crappy lisp?" threshold, and have a finger caught in its web, you
suddenly just want to put your hands all in. And then find more hands to add
to the pot.

I expect it to stay around a good, decent while :)

~~~
gkya
It's such a nice UI paradigm married to a decent lisp (any lisp is better than
no lisp :)). Once you get the actual hang of it you can't ever leave it. Just
like real coffee vs. instant abominations.

~~~
tonyarkles
Any recommendations for a good starter guide? I've done some lisp here and
there, a bit of Clojure, and some other FP-style things (e.g. Elixir). I'm not
scared by parens :). I'm just not sure where to start with elisp and getting
into a good groove with it.

Edit: also a long-term Emacs convert, just haven't written any of the elisp
myself.

~~~
gkya
I myself have discovered everything I know along the way, and have read no
guides, so unfortunately don't know any of them. Tho C-h t is the unavoidable
initiation to emacs the editor.

Using tools lik Org mode, Rmail, Elfeed etc. gives you many opportunities to
write some useful elisp, which is a pedagogical experience.

Emacs is like the mildly beautiful geeky girl which you fall in love with:
whenever she spots you inclined to some new cute girl, instead of going mad
with you, reveals such a wonderful piece of her interior world that you just
forget the other one :)

------
weltonhead
BLISS. The system programming language for PDP and VAX computers from Digital
Equipment Corporation. Think "high-level assembly language". Powerful,
elegant, simple, totally unforgiving. The world's most powerful chainsaw,
without a chain guard.

~~~
qu1j0t3
What are you using it for?

~~~
paxcoder
With that description, I hope street cred

------
PeCaN
C++98 with a few C++11 features for work (our compiler is not really C++11
compliant at all, but it does have move semantics).

Ada for fun, though I'd say Ada 2012 is a bit like C++11 in terms of
“basically a new language”. People do seem to have a perception of Ada as
‘old’, though I'm not sure why (it is, by my account, more ‘modern’ than, say,
Go – actually, it's not unlike Go with a nice generics system).

~~~
michel-slm
I did Ada 95 back in college. Was really nice for embedded programming -- the
built-in concurrency primitives are astounding, and it feels like a much safer
systems programming language than C/C++

------
dmcginty
I really want to write something in 6502 assembly this year. I've read
tutorials and played with it, but I've never used it to build a non-trivial
program. I've also been wanting to build a NES emulator in common lisp, and
this would be the perfect opportunity to pair the two projects.

~~~
paulrpotts
Have you seen the game called Human Resource Machine?

This is not actually a joke comment -- it teaches assembly language
programming. Not 6502 specifically, but the fake architecture looks a lot like
6502. You work up through a set of more and more challenging assignments until
you have to write a sort. I really enjoyed it and would consider it a great
introduction to basically any assembly language.

~~~
crystalPalace
I had never heard of Human Resource Machine but that reminded me of TIS-1000
which I highly recommend.

------
campusman
ColdFusion/CFML. All day, every day. Although a heavy dose of the newer
hotness and the eventual migration of everything I work with off of it is in
the works. Still enjoy working with it though. Very productive.

~~~
vrisha
Seems only two of us here.

~~~
Semiapies
Perhaps the only two who still enjoy it. :)

I'm working on the latest revision of a client's CF intranet app that been in
use for fifteen years, now.

~~~
j45
A mess can be made in any language :) Be scared to see what today's modern
frameworks and their code bases might look like in 10-15 years, because some
projects will have that lifespan.

~~~
Semiapies
The only real mess is the project's continual struggle against the language's
verbosity and limitations. I try not to think too often about how much shorter
some section of code would be if it were in Flask or Django.

------
Skunkleton
ITT: everyone realizes how old most widely deployed languages are.

~~~
nhatbui
As I read through this thread, I'm wondering what the "new" programming
languages are and specifically, which are being used in production.

~~~
krallja
Swift, Rust, and Go are the current mainstream "new" programming languages.

~~~
tormeh
Scala is only 12 years old. Go is 7 years old, for comparison.

~~~
krallja
Yep! F# is also 12 years old.

------
pmontra
What's old? Anyway, I'll be using:

Ruby, age 21. Web development, some text processing scripts. Design started on
February 24, 1993 first release on December 21, 1995. [1]

Python, age 25, almost 26. Web development. Implementation started in December
1989. First release on February 1991. [2]

JavaScript, age 21. Web development. Designed and released in May 1995. [3]
However if Ruby and Python are clearly the same languages they were 20+ years
ago plus the natural evolutions, I don't know if the JavaScript we're using
today has anything more that a resemblance with what it was back in 1995.
After all we say we're using bash (Bourne Again SHell, it couldn't be more
explicit) and not sh, speaking of which:

Bash, age 27. Scripting. Coding started on January 10, 1988 and released on
June 8, 1989 [4] If we count the Bourne shell, that is from 1977 (age 39),
coding started in 1976 [5]

Erlang, age 28. First prototypes running in 1988, work on BEAM started in
1992, in production as we know it in 1998 [6] Actually I'll be using Elixir
for backend coding. Sometimes all what an Elixir module does is calling Erlang
modules so it's handy to code that directly in Erlang. The Elixir compiler
handles compiling and linking Erlang well.

[1]
[https://en.wikipedia.org/wiki/Ruby_(programming_language)#Hi...](https://en.wikipedia.org/wiki/Ruby_\(programming_language\)#History)

[2]
[https://en.wikipedia.org/wiki/History_of_Python](https://en.wikipedia.org/wiki/History_of_Python)

[3]
[https://www.w3.org/community/webed/wiki/A_Short_History_of_J...](https://www.w3.org/community/webed/wiki/A_Short_History_of_JavaScript)

[4]
[https://en.wikipedia.org/wiki/Bash_(Unix_shell)#History](https://en.wikipedia.org/wiki/Bash_\(Unix_shell\)#History)

[5]
[https://en.wikipedia.org/wiki/Bourne_shell](https://en.wikipedia.org/wiki/Bourne_shell)

[6]
[https://en.wikipedia.org/wiki/Erlang_(programming_language)#...](https://en.wikipedia.org/wiki/Erlang_\(programming_language\)#History)

Considering that PHP, Java, C++, Perl are also in their 20s (and Objective-C
is 30+), should we really call them old languages or old should that be
reserved to something dating back to the 70s or the 60s? (C, COBOL, Fortran).

------
radiowave
If you can remember the days when applications like Lotus 123 had menus at the
bottom of the screen, and if you can imagine a macro scripting language in
such an application, designed so that the menu structure directly defined the
statements available in the language (e.g. file open standard-view
"c:\whatever.vw"), and if you can imagine writing database manipulation
routines in such a language (so that you must at all times be mindful of which
view is in the foreground and what the currently selected record is, i.e.
which record the user would be looking at if this task was being carried out
by an actual user rather than a macro script), and if you can imagine a
manufacturing company who implemented their own MRP system atop such software,
then you have the beginnings of an idea of what I'll be spending 2017
maintaining, and then _hopefully_ decommissioning.

Here's a mention of the software in question from the UK's Unix User Group
newsletter in 1995: [https://www.ukuug.org/newsletter/linux-
newsletter/linux@uk13...](https://www.ukuug.org/newsletter/linux-
newsletter/linux@uk13/smartw.shtml)

------
jslabovitz
Ruby. Not Ruby+Rails, just pure Ruby. If you take away the Rails ecosystem,
Ruby starts to feel like an old (but lovely) language. Many non-Rails gems
(libraries) haven't been updated for at least five years, if not ten -- so I
end up rewriting a lot of stuff myself. I enjoy it, actually. Quite peaceful.

------
WorksOfBarry
For the last 2.5 years I've been doing RPG - both the newer free form and
older fixed. I can imagine I'll be doing it a lot more within the next year
also. A lot of people give it hate, but it's a pretty simple language after
you use it a lot.

It's possible I will start to write C++ also.

~~~
bkmartin
I think you mean RPGLE? :) I'll be doing a little bit of it this year,
hopefully it will be the last... :/

------
Yokohiii
I will certainly get more into C. Mainly because C is the biggest expansion in
knowledge for someone who did 15y web dev on a high level. Secondly because I
don't want at all get more in touch with hype madness of JS and the likes. If
we produce code at that rate the whole system will collapse within 5 years. At
that time I should be fit enough to take a C senior position.

~~~
MrBuddyCasino
Same here, so much to learn from if your whole world consisted of the JVM. But
I don't think I want to do it professionally.

------
notacoward
C. Like most infrastructure software - yes, even today - the codebase I work
with (Gluster) is almost all C. Personally there are about a dozen languages
I'd rather use, and would use if I were starting my own project, but this is
the environment in which I get paid to solve interesting problems and the fact
that it's in C is just part of the package.

------
david-given
I've just being doing some work in B (C's predecessor).

I suspect I may have the only B compiler in the world for the VideoCore IV
processor.

------
leommoore
I'm still using VB6 which was released in mid 1998 (19 years old in 2017)

~~~
phyushin
Me too xD

~~~
c17r
Me three!

------
mfrager
Perl. A language that is still ahead of its time. I have a system for building
RPMs of CPAN modules and their dependencies automatically.

~~~
dice
>I have a system for building RPMs of CPAN modules and their dependencies
automatically.

I would be interested in this: is it open source?

~~~
stevekemp
It shouldn't be too hard to write that, I know on Debian systems it is
trivially easy to package CPAN modules as Debian packages, via dh-make-perl.

------
3n7r0pY
IBM's High-Level Assembler and JCL mostly.

I develop mainframe software.

~~~
Lord_DeathMatch
I recently had to put together a small program with JCL for work, and had real
difficulty in finding documentation. Can you recommend anything?

~~~
3n7r0pY
Most of what I've learned has been from examples from co-workers, but I've
also used the IBM knowledge center and the IBM "Redbooks".

I think the Redbook titled z/OS Basics has some JCL examples and exercises in
it.

I also found this through a quick search:
[http://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm...](http://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zcourses/zcourses_jclintro.htm)

------
petre
Perl. MVC web app and TCP server stack for IoT devices, task queue, job
scheduler and associated scripts.

------
macintux
My job is almost entirely Erlang, which is now 30 years old.

~~~
throwaway7645
Telecom?

~~~
Kiro
Amazon, Facebook, WhatsApp and a lot of companies use Erlang. It's not only
used in telecom even though it was made by Ericsson.

EDIT: Removed the "naive" part.

~~~
Insanity
I guess Whatsapp's purpose is similar to that of telecom though, but that is
my naive interpretation of what is done in whatsapp and telecom using Erlang.

------
SAI_Peregrinus
VHDL & Verilog. 29 and 30 years old respectively, and while not really
programming languages (they're hardware description languages) but they're
used quite a bit. Any piece of equipment with an FPGA or CPLD inside (more
things than you'd expect) and for prototyping systems before going to the
expense of creating custom ICs. While they're not as old as many of the other
languages mentioned here they're old enough, and I haven't seen anyone else
mentioning them.

------
IslaDeEncanta
Perl 5. Perl is awesome and versatile, and it's the fastest scripting language
in common usage.

~~~
throwaway7645
Ever benchmark it against Lua? But yea a whole lot more people use Perl.

~~~
krylon
Lua feels awkward to me when used as a standalone scripting language.

When embedded into a C host applications, it is _really_ nice, though. There
is also a port of Lua 5.2 to Go, which has a slighty confusing API (to me, at
least), but the documentation makes up for that.

~~~
etiene
I use Lua standalone and I gotta say I love it :)

~~~
mmjaa
Ditto. Its my favourite language. You can do all things with it.

~~~
krylon
The language itself is very, very, very nice, don't get me wrong.

But the standard library is very small (deliberately), and while LuaRocks is
fun, Perl, Ruby, and Python have _a lot_ more libraries available. Plus,
concurrency in Lua is ... nontrivial I _loved_ concurrentlua, an attempt to
implement Erlang-style message passing in Lua, with coroutines instead of
processes. But it was kind of a pain to get it to work, and I think it was
unmaintained.

When using Lua as a standalone language, this situation bothers me enough to
stick with Perl or Python. _However_ , when using it as an embedded scripting
language, it is not a problem at all, because you will probably supply
whatever library/API you want to be scriptable yourself. At that point you
only care about the language itself and the API of its runtime, which is -
IMHO! - where Lua really shines.

~~~
etiene
Well, it is true that the Lua ecosystem is small, but I've been following it
for years and it has been in a steady growth. Yea, it does depend on which
problem you're trying to solve. I'm using it on Machine Learning now and there
are many libraries available on LuaRocks for that.

------
estrabd
Perl, sh, awk, sed, C, Fortran. There's a freedom in not chasing down all the
shiny new things.

~~~
throwaway7645
What do you do with that stack? I've used all of those at work as well, but
the C/Fortran part is just debugging or pulling the logic for what the system
is doing.

------
nonsince
\- C! (I'm not using it at my current job but I'm just about to start a new
job that's mostly C) \- Scheme! (Because I love it) \- Bash/Awk/Perl/Sed!
(Because I use Arch for everything) \- Java! (Because you can't have
everything in life)

~~~
copperx
I was about to google C!, literally. By the way, if C# is pronounced C-sharp,
I wonder how C! would be pronounced ...

~~~
asab
'see bang'

------
oblib
Perl and Javascript.

I make web apps and started using Perl for cgi scripts back in `97 and still
use it. Most of my app code now runs on the client side with Javascript so I
don't do much with perl anymore but I still use it for most everything on the
backend.

Learning to code something with new or different languages is not something I
do without good cause and/or necessity. I haven't ran into that much building
web apps.

------
sdegutis
Writing a brand new Mac app for myself, using Objective-C instead of Swift. So
far it's a breeze. Yes I used Swift for a while, and it sure feels all
academic and all, but meh, ObjC gets the job done just fine for me.

~~~
pohl
Objective C will always have room in my heart, but I'll never go back to it.
There's too much .h ceremony.

~~~
sdegutis
Meh, I've spent about 20 hours on this project so far, and I'd estimate
probably 2 minutes of that time was spent managing .h files.

~~~
yoz-y
Do you have any concerns about maintainability? So far Apple has been
advancing Obj-C interfaces along with Swift, but time will probably come when
some new OS features will only be available through Swift.

~~~
sdegutis
Nope. See gurkendoktor's reply to me above. I agree with his/her reasoning.

------
i_feel_great
Visual Age Smalltalk and Cobol professionally. Company I work for tried 3
times to port to Java, plain JavaScript and now Angular. None can approach the
sheer productivity and power of VA Smalltalk.

Pharo/Dolphin Smalltalk, FreePascal, Racket/Chez/Guile/Gambit(via
LambdaNative) Scheme, Ada, Erlang, Forth(8th) for speculative/personal
projects.

Edit: Bits of LaTeX and groff here and there.

------
acidburnNSA
We still have a whole lot of FORTRAN77 around at my work that I will do some
work on. Some of it is very close to FORTRAN-IV. These are Gen-IV nuclear
reactor simulation codes written by Argonne National Lab and friends mostly in
the 1960s-90s. They were validated against experimental facilities back then
and therefore have a good pedigree. Since most of the experiments are no
longer operational and not all the results and test conditions were well
documented, it's a challenge to update. We've upgraded some of the memory
management stuff through the years at least and there's more FORTRAN90 every
day, which is a nice modern language from this perspective.

Thankfully we have written gobs of Python to do most of the data management,
multiphysics coupling, multiobjective optimization, etc. so it's really not
too bad.

------
it
Erlang: immutability, pattern matching, quick compile times, the best
implementations of QuickCheck, flexible distributed computing with async
message passing.

------
alexcweiner
I use APL as the sole language for my current job. Previous job was also APL.
cumulative 4 years, and I'm under 30 yrs old, which is a bit of an oddity.

~~~
alfalfasprout
APLs are really nice, though! I think they scare away newcomers since they
look like brainfuck but it's incredible how you can write fairly intricate
programs with one-liners. Also can be incredibly fast since array operations
are straightforward to vectorize.

I just wish the K language or KDB+ was open sourced. We'd see people from just
about every industry drooling over how nice it is.

------
achileas
Perl, it is what we use for our ETL pipeline, and it works great for that.

------
Johnny_Brahms
I wrote scheme before it was cool (or at least something you sometimes read
about on HN), and I will continue writing scheme when it stops being cool.

------
sebastianconcpt
Smalltalk. It's the "secret weapon" for a backend service. Allows fast
mutability and is unbeatable at productivity and exploration.

~~~
dmux
Are you using a particular version? Pharo? Squeak? Commercial?

~~~
sebastianconcpt
Is not a Windows app, is a server microservice so I have to discard my
favorite Dolphin Smalltalk for the remarkable Pharo or Squeak. Since is a
business thing that will run on some linux server, I think that we'll go for
Pharo. To be honest at this point Gemstone is not discarded, but geez I wish
would be easier to do devops with it. A good how-to from zero to hero on a
basic gemstone dev setup and minimal production setup would be so cool to have

~~~
i_feel_great
Dolphin is a very nice Smalltalk. For business, local clients all use Windows
and do not trust web apps for core applications. So Dolphin + ODBC is my
latest go to for business apps.

~~~
sebastianconcpt
Ha! this is good news. I've got Dolphin Smalltalk running on macOS
[https://twitter.com/sebastianconcpt/status/81670666334446796...](https://twitter.com/sebastianconcpt/status/816706663344467968)

------
therealmarv
Taking a deep look into Lazarus/FreePascal/Object Pascal this year (because I
can still code Pascal & VCL code in sleep nowadays). Want to see if it's good
enough to develop a simple macOS, Linux and Windows application at the same
time.

~~~
lacampbell
Why FreePascal over Qt for cross platform gui applications?

I had a contract doing C++/qt stuff 2015/2016\. So I could conjure up my own
reasons for and against. But I am curious about yours as I am largely ignorant
of pascal.

~~~
therealmarv
I know C++/qt and I don't like the experience when compared to good old Delphi
and VCL days (just my personal opinion). The workflow and behaviour in RAD
(rapid application development) with VCL Delphi components was quicker and
more intuitive and I had to write less code manually than with QT. Call me
crazy but I had the feeling QT is much more verbose and unnecessary
complicated compared to Delphi VCL programming. I just want to figure out how
good Lazarus/FreePascal is nowadays for some pet project.

------
keldaris
Mostly, I'll be writing a lot of fairly old fashioned C++ (my current project
is yet to use a single smart pointer or lambda, lots of templates though) for
high performance numerical work.

Also, I guess writing code in Python 2 is considered outdated nowadays, so
that too. Plus the usual shell scripting (bash on Linux and simple batch files
on Windows).

I do hope to avoid writing any new Fortran this year, so there's that. Some of
the less performance critical code will instead involve Julia, and I've been
experimenting with D and Rust for fun. Not sure which category Java and C# fit
in, but in all probability I'll also use those at some point.

And finally, LaTeX. Very old and, unfortunately, indispensable.

------
oxguy3
Depends on your definition of "old" \-- I'm using Bash, PHP, HTML, and
JavaScript at work, which are all over 21 years old, but they don't really
feel that old (even PHP feels new and shiny thanks to the lovely Symfony
framework).

~~~
tudorw
got some love for Symfony for sure

------
mordocai
Common Lisp for all of my hobby programming.

Edit: Well not all of it. I'm also learning rust and scheme in my free time.

------
pythonlion
Progress Openedge. I have never seen anyone on HN mentions it. The codebase is
from the 90'. before that, I have worked with a codebase from the 80s, 10
years older than me.

~~~
vram22
How do you find it? I had a colleague who had worked earlier in a company
where they used it, IIRC as the language/4GL for work on MFG/PRO (a popular
ERP package then). Think I remember him saying it was good (just Progress, it
was called then).

------
gushie
OpenVMS BASIC and Progress OpenEdge. Really looking forward to the day I need
to find a new job, and discovering how widely sought after _cough_ my skillset
is...

------
pknerd
I want to use Pascal. It was awesome to work on Turbo Pascal while I was a
student in 90s.

~~~
krylon
[http://freepascal.org/](http://freepascal.org/) is a thing.

Also, there is Lazarus which seems to be the FreePascal-alternative to Delphi.
I took a look at it when inheriting a Delphi application at work, but it
crashed on me a lot. Still, it's there.

------
vram22
You didn't really define "old" so I guess responses are going to be varied.
Here is mine:

\- Python (mentioning since it is over 20/25 years old, though used a lot
currently by many, of course).

\- C (evergreen, for some uses, IMO)

\- sh / bash, with sed/awk and friends (the common Unix command-line power
tools (filters and others))

(Talking about both of the two points above mainly on Unix / Linux, though
both are quite useful on Windows too - sh / bash and friends via cygwin, UWin,
Ch and similar tools, and now / after some time with the Windows Subsystem For
Linux.)

\- D (if it can be called an old one)

\- Probably Pascal (via FreePascal), for small tools, for fun and personal dev
use (e.g. utilities), on the side, to start with, maybe see if I can make
something bigger and generally useful later (I have a somewhat long prior
background in it - and in C). The compile times are fast, like D and Go, and
executables are small, which are two of the reasons. Haven't checked runtime
performance of it much yet, but likely will not be shabby, to say the least.
And last but not least (reason), because it is like C with some niceties
added, which makes the code more human-readable and maintable (though I have
no trouble understanding well-written C, my own or others'.) Also, modern
Pascals like Delphi's Object Pascal and Free Pascal are a far cry (much
better) than the academic Pascal versions that were taught in universities
years ago.

Edited to add (after seeing others mention it):

\- SQL (had forgotten it because it is a bread-and-butter thing used in most
of my projects, irrespective of other language used)

------
mrmondo
We still have one web-app written in perl, it's based on the mojolicious web
framework to keep it somewhat maintainable, the app used to be heavily tied to
mod_perl1 which has thankfully been 'modernised' to not use mod_perl1 or 2 and
instead run with mojo+nginx. I expect this to continue being in service and
maintained for another 1-2 years before being replaced by a python rewrite.

------
segmondy
Prolog. - 1972.

SQL, bash,awk & sed

"PHP", It's not old, but it's not hip and plenty of people believe it deserves
to die and has nothing to offer :-)

------
buckbova
Lots and lots of SQL, which is now 40+ years old.

~~~
krylon
I had not even thought of that. But yeah, if SQL counts, I'll probably be
writing a couple of hundred lines of SQL in the coming year.

It can be surprisingly fun to see if I can get something done in "pure" SQL
without any procedural code.

I feel a little sorry for the poor soul who may one day inherit that code, but
on the other hand, at least I write comments to explain why I do things in a
certain way, which is more than my predecessor did.

------
tscs37
Lisp. That's the only old language I use.

------
pdonis
\- python: my general purpose go-to language

\- sh/awk/sed (I don't really think of these as separate languages): mainly
for scripting things that aren't worth firing up python for or that are easier
to script this way

\- javascript: for web front ends

\- html/css: ditto

\- possibly c: for particular things where I need more speed/control over
memory than python can provide

------
fotbr
Java and C#, with a bit of (MS)SQL and ASP.NET and a smattering of VBA and ASP
at work. None are what I would consider "old".

For fun, though, there's QB64's implementation of QuickBasic. I also have my
old 8088 up and running again, and GW-Basic and ASM there. I started with GW-
Basic when I was about 4 years old on that old 8088. Two 5.25" drives, no HD,
640k RAM and a "Turbo" button. What's not to like?

Co-worker introduced me to Lazarus / FreePascal a few weeks ago, and I decided
to dust off my old pascal book from jr. high school and see what I can
remember.

If I can find a use for it, I'd like to dust off and freshen up my Fortran77
memory. I know there have been updates, but Fortran77 has a little special
place in my memory since that was the first language I got paid to know.

Then there's COBOL. No idea why, but I want to revisit it and see if it is as
bad as I remember.

~~~
linkmotif
I think I read somewhere COBOL has >300 reserved words?

------
willtim
Haskell, which is now a very mature language, over 26 years old.

~~~
Insanity
Same here though I only use it for side projects. During my day job it is
pretty much Java and SQL.

------
vortico
C (ANSI or C99), C++ (C++11, some variation of
[https://gist.github.com/bkaradzic/2e39896bc7d8c34e042b](https://gist.github.com/bkaradzic/2e39896bc7d8c34e042b)),
and a bit of NASM ARM. I do GUI design, DSP, scientific simulations, and HPC.

------
Gracana
IEC61131-3 family.. very widely used stuff, but definitely feels clunky and
old. It's not even fun-retro-old, it's just old-old.

[https://en.wikipedia.org/wiki/IEC_61131-3](https://en.wikipedia.org/wiki/IEC_61131-3)

~~~
snowwindwaves
I have no complaints with these languages. I have only seen them used to
program PLCs to control machines and processes, and the simplicity of the
languages keeps programs simple and straightforward too.

What features are missing that you think belong in process control?

~~~
Gracana
The languages aren't so bad, but the ecosystem is rough. On the PLC vendor
side, implementations vary widely and they're all proprietary, so for a given
controller... what they give you is all you get. On the programmer side,
skills vary widely and ladder logic is the common denominator, so a lot more
is written in ladder logic than is appropriate. For instance... Complex
sequential logic (like a machine with many adjustable operations, all
controlled by an HMI) is difficult to convey clearly in a ladder logic
program. It can be done... but all I have ever encountered is lots and lots of
spaghetti logic.

I wish I could use sequential function charts to handle some of the complexity
in the machines I work on, but the PLC models we use don't even support them.
Argh.

------
Klathmon
A business basic language called Providex (or PxPlus depending on the
version).

There are several hundred thousand lines of the language in the main
application where I work.

While there are definitely some major issues and pain points with it, it's
actually suprisingly powerful and the language itself is still being
developed.

We've got a lot of things you wouldn't think would be in a BASIC, like classes
and object-oriented programming, a "UI" library that targets the web without
any (tm) changes (in practice it misses that mark, but it's still extremely
useful), support for the big 3 platforms, and more.

I don't deal too much with it though as most of my job is connecting new web
stacks up with the pxplus backends.

------
beezle
Fortran, COBOL.

Though I don't consider Fortran "old" as it has many shiny features.

------
miguelrochefort
Prolog is an old language from the future.

------
ericcholis
Visual FoxPro (VFP). Runs a number of legacy systems. But, still works quite
well given a pretty flexible data access layer and access to any number of
APIs over HTTP. Strong baked-in SQL support.

------
BlackjackCF
C - Wanted to get into some embedded programming. I was going to do some Rust
for this, but I figure I might as well learn some C as well.

Bash - I already know some Bash, but I want to become a bash guru.

------
sixsevenwheels1
C++/FORTRAN77 FORTRAN77 allows use of a code base that has the bugs beaten out
of it years ago. Aerodynamics doesn't change. Also older Engineers can still
comfortably write new routines. C++ allows use of Qt4 and all that it offers.
Graphics, networking, SQL, etc. Intel Linux compiler makes it simple to mix
and match. Also to pass complex data structures back and forth. At one point
we had the same programs compiled to run on SGI IRIX, Linux and Windows.
#ifdef made it easy.

------
zwetan
ActionScript 3

purpose: sysadmin, automation, server-side programming, daemon, shell /
interactive shell, command-line tools etc.

well ... it's not that old (cerca 2006) but it is considered dead LOL

------
wila
DataFlex - used for business apps, gets plenty of use in medical, accounting
and banking and some web integrations.

Delphi - crossplatform development, tools

SQL - see above

C++/C# - tools

bash - scripting, mostly for managing servers

------
Mister_Snuggles
COBOL, definitely COBOL

~~~
nsphere
Yeah me too. I can't wait to rewrite our code base in Java (not even being
sarcastic), but at least we will be able to make our own objects and have
recursion! Yay!

~~~
Mister_Snuggles
Lucky - you get to rewrite it.

Our COBOL comes from a software vendor, so rewriting it means waiting for them
to decide that the cost of redeveloping decades of complex business logic in a
new language/toolset outweighs the cost of supporting and enhancing these
COBOL programs.

Fortunately it's a mostly read-only codebase. The number of times we've
changed the COBOL code ourselves can probably be counted on one hand.

------
anon1253
Depends on what you mean by "using". Writing it, probably not so much. But a
lot of the numerical things I use are written in Fortran (e.g. BLAS, Atlas). A
lot of games I play probably have some hand optimized Assembly. And pretty
much everything I touch is in some way backed by C. For natural language
processing I've recently (re)discovered how useful PROLOG can be in some
cases, and I may touch on that this year.

------
nailer
bash (27 years) - I tend to write for bash 3 and up, totally happy for my
scripts to not work on Bourne shell

powershell (11 years) - basically just a better version of bash with 'select'
and 'where' replacing scraping for text with grep/sed/awk

javascript (21 years) - finally ES5 and 6 have added some stupidly obvious
things like multiline strings, array.includes(), destructuring, etc - it's
actually a pretty good language now.

------
salomon812
I'll be using QBasic to teach my kids programming. They both got Raspberry Pis
for Christmas, which I preloaded with DosBox. This was always Plan A, but this
article made me stop looking for a Plan B:
[http://www.nicolasbize.com/blog/30-years-later-qbasic-is-
sti...](http://www.nicolasbize.com/blog/30-years-later-qbasic-is-still-the-
best/)

------
gigonaut
Haskell for an assorted collection of command line tools.

------
grimmdude
I'll be using good old PHP

------
emidln
Emacs Lisp. In the past year, I finally switched from vim + a boatload of
custom .vimrc stuff using tmux for running random repls to Spacemacs. For both
contributing to Spacemacs as well as the few customizations I want, emacs lisp
is a welcome departure from my usual vimL. At this point, I can't imagine not
talking to my editing environment as part of my daily workflow.

~~~
eddieroger
I just started going down this road, too, and it's blowing my mind how nice it
is to basically stay in Emacs all day. I took a little bit of scheme once upon
a time, so lisp isn't completely new to me, but there's so much I don't know
and so much more I could be doing. I didn't go Spacemacs in favor of my own
config driven largely by org-mode, but I find myself wanting to go out and
actively learn lisp to make it even more my own.

------
mingodad
SquiLu (a fork from Squirrel) it has a good C/C++ extension API (inherited
from Lua), it can accept a big chunk of javascript as is and it can also
accept a limited chunk of C/C++, it's fast enough and already has a good set
of extensions.

[https://github.com/mingodad/squilu](https://github.com/mingodad/squilu)

------
syntel
I use the Harbour Language which is for me a 'Super C'. Massive flexibility
and power. Right now, i'm using Harbour as a server lamguage to service my
three web sites. Harbour has complete and built-in database power ( SQL, non-
SQL, Comix, etc, etc). Take a peek at www.whosaway.com, a complete repository
available gratis for world-wide programmers.

------
p333347
c++ 03. (This works well for me and never felt a need to switch to newer
versions beyond using a few things here and there like auto, with new meaning.
I have been using latest Visual Studio Express versions since 2010 so this
'mix' has no problem. I don't write code to be backward compatible compiler
wise so on that count also its not a problem.)

------
sidlls
For my day job, Python (it's 25, that's old) mostly. Primarily as the machine
learning platform (all of it, from models to infrastructure) for the products
my team develops for the company.

For my spare time work mostly Fortran, C and C++ qualify as old languages I'll
be using. These I use to dabble in research (physics) more for fun than
anything else.

------
andyjohnson0
Depends what you mean by "old". I'm mainly using C# and that is (somewhat
surprisingly) 17 years old [1]. I still think of it as a shiny new thing.

[1]
[https://en.wikipedia.org/wiki/C_Sharp_(programming_language)...](https://en.wikipedia.org/wiki/C_Sharp_\(programming_language\)#History)

~~~
TheCoreh
To be fair a lot of really useful C# features came way after that, like LINQ,
Async/Await, type inference, etc

~~~
dsp1234
For some historical reference:

Generics came with C# 2.0 in November 2005 (12 years old)

LINQ came with C# 3.0 in November 2007 (9 years old)

------
iagooar
Ruby. I guess it's still "young" as compared to many in here, but still, it
suprises me to be this "old".

------
d5ve
I'm working for a perl-based UK startup. It's the second perl startup I've
worked at. Both have been very successful. The current one is about ten years
old, and just starting to explore other languages now. Currently the whole
infrastructure is perl-based, including public services, data-processing and
inhouse tooling.

------
jonsterling
Standard ML. I develop proof assistants.

------
pmelendez
In the side and because a friend is in need, I would be using Basic (Alpha
Micro's Basic actually).

------
hugs
G-code (for 3D printing and milling). It's about as old (within a few years)
as COBOL and Fortran.

------
cydonian_monk
C/C++ for the usual embedded and backend stuff. And a tiny bit of legit COBOL,
because our orginization is married or perhaps chained to it. The COBOL code
is mostly for UI work, sort of a VisualCOBOL, as well as legacy reports.

And of course the usual Linux scripters: bash, awk, sed, etc.

------
alfalfasprout
Probably an APL-like language like K+

------
amorphid
I spent Xmas break learning exactly how much I could do with Bash! There's no
escaping an OS-solution to OS-problem when app-in-language-of-choice doesn't
have a standard library call for an OS-need. I may be learning AWK or C in the
near future.

------
andrepd
LaTeX. Still the best way to typeset documents, and likely to be so for the
forseeable future.

------
a2tech
Haha..beat this for esoteric:
[http://dshanestewart.blogspot.com/2012/11/cadol-blog-
overvie...](http://dshanestewart.blogspot.com/2012/11/cadol-blog-overview-and-
history.html)

------
davexunit
Scheme. When I write code in my free time it's always Scheme. I use it for web
programming, game programming, systems programming, command line scripts, my
package manager is written in it, my init system is written in it, etc. etc.
etc.

~~~
dmux
Any specific implementation?

~~~
i_feel_great
"my package manager written in it..." strongly suggests GNU Guile.

~~~
anthk
And Guix.

------
thecity2
It's crazy that Python isn't considered old. It's been around for 25 years.

------
dsp1234
Active Server Pages (aka classic asp)

VBScript

JScript

~~~
gscott
Everyone complains about Asp Classic but as long as I am working on my own
code it all works great. I write everything in asp classic about to re-launch
a modernized version of my groupware system with a re-design of the display
but all of the page logic is all the same.

------
ScottBurson
When I write code for myself, it's always Common Lisp -- even for stock
trading.

------
arc_of_descent

      - Perl
      - HTML (old?)

------
nickbauman
1) Lisp. Racket is the new old thing. But Clojure too. Lisp is the language I
choose if I don't know what the problem is beforehand. 2) Python. Numpy is
unsurpassed in the data science world. 3) Shell programming

------
anujdeshpande
C

------
nsxwolf
Java.

------
zeroc8
C++ - I've started at a new company whose main product consists of 2 million
lines of C++/MFC code. It's a pain in the ass and I'm hating my life now, but
it pays the bills...

------
boznz
Pascal and SQL on the desktop, C for embedded. I can read most other languages
but as long as the Pascal compilers are being updated and actively supported I
dont see any reason to move on

------
Moto7451
Another one for Perl. Web MVC, Shell scripts, and daemons galore :).

------
YeGoblynQueenne
Prolog - it's still as good as new, far as I'm concerned.

~~~
fusiongyro
I have a bunch of Prolog books and I definitely love it. One of my new year's
resolutions is to use Prolog for anything I can get away with at least through
January.

Usually I get about 20% in and then give up on it. I'm going to really force
myself to get through the other 80% this year.

------
SomeHacker44
Common Lisp and Haskell. I've been using Haskell since near the start, and
Common Lisp since then as well. However, recently I've been trying out Clojure
for some things.

------
ddgflorida
C for text processing, shell scripts for web scraping (wget, lynx, sed, ...).
The elegant design of Unix tools still amaze me. I may do a little Classic ASP
too.

------
cyberferret
\- Plain old SQL

\- Some MS-DOS Batch language

\- Clarion

* Just installed a copy of the original Turbo Pascal on FreeDOS and looking forward to re-remembering my first 'real' apps I wrote in it...

------
irrational
I don't know if 21 years counts as old (I didn't feel especially old when I
was 21), but the first thing that comes to mind is JavaScript.

~~~
swalsh
Open the flood gates allowing other languages in browsers... then let's see
how well it does.

------
hboon
I'm using Pharo (Smalltalk) to build a web app.

------
godelski
I don't know what the language of the year 2017 will look like, but I know it
will be called Fortran.

We still use C++ and Fortran at our company.

------
j45
\- Javascript (199x) \- Ruby (199x) \- Python (199x)

------
alexnewman
SQL, c and c++(because I can't do everything in rust yet) and python (because
all of my employers think it's a good idea)

------
brightball
Perl. If there's ever anything I need to do on the command line, CPAN is the
first place I look and it rarely lets me down.

------
bsg75
(M)Awk. Still great for cleaning a lot of data.

~~~
myg204
I second that, awk's a very clean language to look at log files or data files
and do quick analysis or clean up.

------
networked
I don't relish the opportunity, but batch files, since they are the lowest
common denominator for scripting on Windows.

------
jwatte
C, bash, make, Haskell (Has it really been around that long already!?) (And
C++ and Erlang depending on your cutoff date.)

------
kens
BCPL. Because I'm restoring a Xerox Alto and it uses BCPL. Hopefully I'll also
get Smalltalk and Mesa working.

------
peelle
-Perl -Bash -C++

------
svec
Lisp and C: for robotic control software.

------
intrasight
Old programming languages don't die, they just slowly fade away.

The oldest thing I periodically touch is VBA for Excel

~~~
krylon
For some reason, VB is one of the few languages my brain refuses to learn. I
can read it when it's not too badly written, but I am glad I don't need to
write it.

------
ryannevius
\- bash

\- Python (esp. Django, which is for some reason uncool)

I also have this weird desire to jump back into C, just to refresh myself.

------
MyraMains
90% of the company website is still Classic ASP. So I will be using that until
I can find a new job!

------
hota_mazi
6502 assembly.

I just enjoy cracking old Apple ][ games in my spare time, it's an incredibly
rewarding challenge.

------
jamesxv7
I'll continue with JavaScript and C#... they are pretty old (and I'm not
joking).

------
cm2187
Visual Basic, for financial analysis. Though not sure VB 14 qualifies as
"old").

------
etiene
I'll be using lots of Lua while I learn Machine Learning this year! Super
exciting!

------
rohanaurora
Objective-C on legacy project for AT&T. But I feel ObjC won't go anywhere.

------
disordinary
Thankfully no, but a year ago I'd have to be working in Pascal, VB5, and VBA.

------
aNoob7000
Powerbuilder!!!!

We have a bunch of mission critical desktop application that run on
Powerbuilder.

------
codr4life
Same as always, C & Lisp.

------
ArkyBeagle
I'm back to 100% assembly for a branch of the military, as a civilian.

------
lightrally
Natural + Adabas on a mainframe for higher education administration, woot!

------
Norfair
Haskell

------
Zigurd
Java on servers. Java on Android. iOS gets the new thing: Swift on iOS.

------
metaphor
DCL[1]: scripting builds on a long obsolete version of OpenVMS which doesn't
even support command line piping, on half-baked Alpha servers loaded via 130mm
magneto-optical drives over SCSI for hardware test programs written in...

ATLAS[2]: an utterly repulsive, "self-documenting" language designed
specifically for test applications, which has somehow managed to outlive the
demise of its guiding IEEE standards committee to the dismay of many a
aspiring young engineer. Paradigms include 20+ token statements as a
_sensible_ method to toggle a switch best described as _abusive_ by certain
alumni of aforementioned committee; proliferation of subsets which aren't even
notionally interoperable because it makes people feel special; and nerfing
canonical features related to trivial GPIO control only to adopt a proprietary
language such as...

L200[3]: because languages are always fun when comma delimiters are strictly
optional most of the time, and it's easier to metaprogram an application than
to actually write it. Build/runtime/debug environment is also fun when it's
technically an obsolete filesystem emulator executed by an obsolete OS running
on an obsolete hardware architecture whose performance[4] pales in comparison
to a 1st generation RPi.

[1]
[https://en.wikipedia.org/wiki/DIGITAL_Command_Language](https://en.wikipedia.org/wiki/DIGITAL_Command_Language)

[2]
[https://en.wikipedia.org/wiki/Abbreviated_Test_Language_for_...](https://en.wikipedia.org/wiki/Abbreviated_Test_Language_for_All_Systems)

[3]
[https://en.wikipedia.org/wiki/Teradyne](https://en.wikipedia.org/wiki/Teradyne)

[4] [http://xkcd.com/303/](http://xkcd.com/303/)

------
Ericson2314
Haskell, late 80s. I hear wine gets better with age like Haskell.

------
mangamadaiyan
C. C++. Python. sh. Awk.

------
deckar01
Basic. Specifically BASIS's BBx (Business Basic extended).

------
MaxLeiter
I use Ada for Data Structures class, I think that counts?

------
pjmlp
Java, C#, C++, SQL, and if I cannot avoid it, JavaScript.

------
pklausler
Fortran (1956), Haskell (1989), C (1969), myself.

------
ck__
vba/excel/sql for reporting automation.

~~~
dbdoug
VBA/MS Access - active databases for several clients.

------
luketongs
CA-Visual Objects. For a Win32 Application.

------
Redline99
Visual Basic 6 Tons of legacy integration.

------
tluyben2
C/C++/Java/C#/Assembly

------
DesiLurker
C & assembly, bit of bash scripting.

------
ww520
SQL, sh, awk, and javascript (cscript).

------
angry_shitlord
They all are "old". If it's new it's probably some wired buggy and failing
combination of C Lisp and Forth.

~~~
sidlls
I don't think either Go or Rust qualify as "buggy" or "failing." They aren't
"old" in my view. And I find Rust more interesting than C or C++ these days.
Although C++17 looks nice.

------
kruhft
Common Lisp.

------
codewritinfool
Delphi and C

------
jasonm23
Lisp, C, .... Not Fortran though

------
qubex
C, LISP, Mathematica (?), ABAP

------
webscalist
ES6

Everybody is es7 and es latest. I feel old.

------
netrap
Delphi (may quit), Perl, Tcl!

------
OldSchoolJohnny
DOS command line batch files

------
joeld42
C

------
ryanjodonnell
ruby, java, javascript are all 'old' at this point

------
sanspace
Does C count?

C, ksh

For one of the retailer's POS.

------
xyproto
Go. Eight years old.

------
arkbird
Learning C this year

------
RRRA
bash, sed & yml:

it's crazy how far those will get you...

------
velebak
Java and Python

------
velebak
java and python

------
drelihan
mostly C here

------
CodeWriter23
Perl 5 Baby!

------
transposed
Visual basic

------
NoCanDo
Python.

------
AlphaGeekZulu
LiveCode.

------
phyushin
Vb6

------
cmyr
Make.

------
adamnemecek
possibly datalog

------
nilved
Haskell is pretty old and I'm gonna use it until Idris is production-ready

------
sean_patel
VBA (Visual Basic for Application).

Can't seem to ever lose it. Financial Institutions -- think Hedge Funds,
Banks, Brokerages) -- are still drowning in bloated complex Microsoft Excel
spreadsheets with 1000s of lines of hard-to-maintain-and-source-control VBA
code.

------
devopsproject
vb6 for a desktop application

