DEV Community

Seth Corker
Seth Corker

Posted on

What was your first programming language and why?

I use JS a lot these days but it's not the first one I learned (it was the second). My first foray into programming was a combination of C++ and GameMaker Language. I wanted to make games when I grew up and I remember reading everywhere that C++ was the language to learn. I was also using GameMaker a lot after school to hack together terrible prototypes which, at the time, used GameMaker Language.

Homer Simpson looking overwhelmed while reading a manual

After reading through hundreds of pages of a introduction to C++ book, I still never really got the hang of C++ but some of that knowledge stuck around and helped out with JS and Python. Today I haven't written any C++ or GameMaker Language in years but I'm sure they helped me get to where I am now.

What was the first programming language you learned and why did you learn it? Did you have a choice or was it by necessity?

Discussion (84)

Collapse
leobm profile image
Felix Wittmann
  1. Locomotive Basic (Amstrad CPC 6128)
    I wanted to learn writing games.

  2. Z80 Assember (beginner Level)

  3. QuickBASIC (games)

  4. Turbo Pascal (Applications, Games)

  5. 80386 Assembler (Games, graphics programming)

  6. Delphi (Applications)

  7. Perl (Web, Shell, Backend)

  8. Java 1.1 (Applets, graphics/games programming)

  9. Javascript, Actionscript (Web)
    ..
    ..
    ..

Collapse
darthknoppix profile image
Seth Corker Author

That's a lot of variation. It sounds like you chose languages for developing games. Do you still develop games today and what are using now?

Collapse
leobm profile image
Felix Wittmann

I studied graphics/communication design. But today I'm writing business applications. Frontend and Backend.

I use Java,PHP,Perl,Clojure in the backend
and Javascript,Typescript,Angular,clojurescript on the frontend.

When I have time I'm playing with erlang,prolog and purescript.

Thread Thread
darthknoppix profile image
Seth Corker Author

Awesome stuff, is ClojureScript a new addition to the stack? What's your favourite feature of Clojure that makes you more productive?

Thread Thread
leobm profile image
Felix Wittmann
  • The fast feedback because I can easy evaluate my cljs forms in the browser (nodejs) environment. I test my code (functions) while I am developing.

figwheel and shadow-cljs are very great!

I think the immutable nature of clojure's datatypes is one point why this works.

  • the good interoperability with the javascript language

  • the simplicity of the language. I'd like e.g. purescript too. But often you fight with the type system and forget to solve the problem first.

Collapse
panditapan profile image
Pandita

Pascal, because that's what my uni was teaching at the moment X3

Collapse
darthknoppix profile image
Seth Corker Author

Have you used Pascal recently or do you mainly use C# now?

Collapse
panditapan profile image
Pandita

I mainly use C# nowadays but I used to jump around languages, environments and frameworks before I got a stable job and became an adult 😅

Collapse
richardpaulhall profile image
richardpaulhall

Pascal dried up around here decades ago. Never encountered a need to learn C, C++, or C#.

Thread Thread
darthknoppix profile image
Seth Corker Author

What's your language of choice?

Collapse
griffinator76 profile image
Nathan Griffiths

BASIC on my ZX Spectrum +2 waaaaaay back in the 80s. As a child I found it fascinating being able make the computer run these simple programs. It was the only language available on that early home computer and if I recall correctly it came with a BASIC manual that I taught myself from.

Collapse
pinotattari profile image
Riccardo Bernardini

"As a child I found it fascinating being able make the computer run these simple programs"

I remember my very first program ever... It was in the 80's and I have been studying BASIC only on paper, on hobby electronics magazines (in Italy there was Nuova Elettronica [New Electronics], a very good magazine with lots of very interesting projects and tutorials... I learned a lot from it).

One day I was at a computer exposition and there was this computer available with BASIC on board. I wrote a small program that printed the multiplication table of "2" with just a basic for loop...

I still remember how much I was excited (my heart was running) when I typed "RUN" and saw the multiplication table printed on the screen...

Collapse
darthknoppix profile image
Seth Corker Author

That’s so cool, I think that is the power of programming! Making something appear on screen with some simple commands is a great first experience.

Collapse
darthknoppix profile image
Seth Corker Author

There is a wealth of knowledge about programming these days, I know others learned programming this way too.

Do you think programming is as accessible to newcomers as it was in the 80s?
(I understand a reference manual probably wasn't the most intuitive way to learn)

Collapse
griffinator76 profile image
Nathan Griffiths

Programming computers was basically a mystical science back then, most people had never seen a computer in person and the web didn't exist. So for most people I think the thought of learning to program computers didn't occur, it was a very niche thing, certainly where I grew up. I was lucky in that my primary school had begin given a Tandy personal computer, which they had no idea what to do with so they just let kids like me play around with it to our hearts content. That inspired me to ask for a computer of my own (the trusty Spectrum) which I was lucky enough to get and from there I was hooked.

Today I think programming is both more accessible due to the vast resources freely available on the web, but possibly also more daunting to get started due to the bewildering array of languages, platforms and frameworks now available.

That said, I recently helped out at with a class of 10 year olds learning code on hourofcode.com and it was amazing how naturally they all took to it. For them I think coding or programming will be less of a specialisation and more something most people can do a bit of, like maths.

Thread Thread
darthknoppix profile image
Seth Corker Author

It must have been very rewarding to help out with Hour of Code! I have to agree with you that I think there is son much information which is freely available and accessible but it could be overwhelming.

It would be great to see programming a bigger part of the school curriculum. I hated trigonometry and mathematics in general while at school. When it came to programming, I loved learning about trigonometry in the context of solving programming problems.

Collapse
lcoenen profile image
Loïc Coenen

Isn't the web itself made computer and code more accessible - not only by making documentation accessible but by making everybody able to see code source of things they can directly see?

I think the first time I was placed in front of code was when I clicked on "View source" in IE4 or something. I remember Berners Lee saying something like that in his recent article (can't find the source unfortunately).

Thread Thread
darthknoppix profile image
Seth Corker Author

Definitely, the thing that attracted me to the web is that before GitHub, websites were a way to see source easily. Inspecting a webpage would give you unminified JS. It could give you ideas about how to tackle a problem in CSS by seeing how your favourite website solved it.

This is still the case today however, build tools have resulted in less easy to understand web pages from a learning perspective. The client side code is often obfuscated and minified for performance.

Collapse
gayanhewa profile image
Gayan Hewa • Edited on

Basic was the first ever intro into programming I had. Pascal, was the first ever language I used. We were thought this to prep for programming competitions. Most of it was self thought though. We were just given a book. Haven't used Pascal for anything else since.

Collapse
ferricoxide profile image
Thomas H Jones II

You got harangued with the whole "learn PASCAL: it will properly teach you structured programming" spiel?

Collapse
gayanhewa profile image
Gayan Hewa

I was 13, didn't know much. Most of the academics and my teachers thought Pascal would be really good for programming competitions.

Collapse
richardpaulhall profile image
richardpaulhall

Yes. I gave that speil.
Structured, hard typed, learn it well and you are ready to go do anything else.

Thread Thread
ferricoxide profile image
Thomas H Jones II

Ironically, I find that having cut my teeth on structured and strongly-typed programming, I have to let go of a lot of habits to use loosely-typed languages.

Collapse
peledzohar profile image
Zohar Peled

My first ever was Basic (way before Microsoft came out with visual basic).
I was a kid at elementary school, 3rd or 4th grade, and that's what my best friend was learning to write on the Apple computer his parents bought for him. That was at least 30 years ago. Later on, in high-school we learned Pascal.

My first ever programming language as a professional software developer was VBScript, writing ASP3 / WML based mobile websites.

Today I work with .Net and c#, mostly writing services and the occasional WPF desktop application.

Collapse
darthknoppix profile image
Seth Corker Author

Thanks for sharing your journey. Do you think your early exposure to Basic and eventually VBScript lead you towards using the .NET ecosystem?

Collapse
peledzohar profile image
Zohar Peled

No. I think that it has more to do with my job at the time.

I've started with an 800 course on web development and Java. That was back in the late nineties, and we learned Microsoft technologies for Web Dev such as ASP3 and VBScript. Before that course was over I found myself working in a startup, right before the .Com bubble burst. In a later job, a few years after, I got into VisualBasic working on desktop applications, and later (same job) into VB.Net/winforms because the company I worked for needed me to do that. Moving to c# was only when I left to work for another company.

Collapse
richardpaulhall profile image
richardpaulhall

I never needed VBScript or .Net for work. The one class I took that used VBScript showed me it was a horrible language.

Thread Thread
peledzohar profile image
Zohar Peled

Too much like English too little like an actual programming language.

Collapse
mattlbellingham profile image
Matt Lintz

Applesoft BASIC as my Uncle let me use his Apple IIC then some Assembly and Pascal as much as I could with limited info. I was saving up to buy a C compiler which if I remember correctly was around $100.

Collapse
ahferroin7 profile image
Austin S. Hemmelgarn

Let's see...

Started with a dialect of Scheme called Racket (known back then as DrScheme) when I was a pre-teen (I expressed interest in learning to code, and that's what my father (who's a software engineer himself) suggested), never went past tutorials with that, and gave up pretty quickly. Toyed a tiny bit with C shortly afterwards but never went very far at the time. Technically learned basic Ruby, and JS (that is, I read the language definitions, but never wrote any code) at about the same time.

Fast-forward to my senior year in high-school when I took a course on BASIC (using FreeBASIC) which I mostly regret (I developed a lot of bad coding habits as a result of it). Started learning Lua at about the same time (mostly because of being a bit beyond obsessed with the original Star Wars Battlefront II, which uses Lua for a lot of stuff internally) and got a LEGO Mindstorms NXT set (with their weird native graphical coding environment) but never went very far with either. Started learning shell script about a year later because of learning to use Linux, and pretty quickly started learning Python after that as well as actually using some C (it's kind of hard to work on a POSIX-like system without picking up at least a little C).

Now, almost a decade later, the only things I actively use today are shell script and Python. I occasionally drop to Lua for rapid prototyping of algorithms (faster at run time than Python without the feedback delas from a compiled language), but that's getting less and less frequent (not because I don't like Lua, but because I have less and less need to prototype algorithms). I spent the past 9 months learning JS properly, and am reasonably competent with it, though I likely won't use it much and absolutely despise a number of things about the language. I also just started (past few weeks) learning Elixir, which I've been mostly enjoying so far but also don't expect to end up using all that much.

Collapse
darthknoppix profile image
Seth Corker Author

That's a really interesting journey, it sounds like you've jumped around a lot.

Firstly, what were the biggest challenges you faced learning programming in some of your earlier endeavours i.e. Racket and C?

Secondly, it sounds like Python is the one you use the most today, along with shell scripting, why do you think these clicked?

Collapse
ahferroin7 profile image
Austin S. Hemmelgarn

Firstly, what were the biggest challenges you faced learning programming in some of your earlier endeavours i.e. Racket and C?

The biggest issue for me with Racket was the syntax. For some reason, I just can't consistently wrap my head around LISP-style syntaxes like Scheme (and by extension, Racket) has. Even today, with multiple years of experience programming, I have to put a lot more mental energy into understanding LISP or Scheme, or SmallTalk, or even OCaml than most other languages when I'm reading code.

C, OTOH, was mostly a case of just not getting any real experience. At the time, I hadn't really 'discovered' FOSS yet, so my only percieved option was to shell out money for Visual Studio, which I had absolutely zero interest in doing (aside from not having any practical way to earn that much money either). I'm actually reasonably competent with C these days, but I don't really use it much because very little that I do actually needs it.

Somewhat ironically, I had issues with BASIC too when I was taking that course in high-school because the prior (limited) experience with Racket and C meant I was already thinking at a much lower level than the dialect of BASIC we used operated.

Secondly, it sounds like Python is the one you use the most today, along with shell scripting, why do you think these clicked?

For shell script, it's necessity. I work IT and mostly deal with UNIX-like systems, as well as using Linux on most of my personal systems, so it's kind of hard for me to get anything done on a computer without knowing at least some shell script.

For Python, I think it's that so many things about it are just kind of intuitive for me. The off-sides syntax just makes sense to me, exception handling in Python has always seemed more robust and well designed than other languages, the concepts around context managers fit perfectly with the way I think, etc. The robust standard library has also been a major factor for me, as it means I quite often don't need any external dependencies.

Thread Thread
darthknoppix profile image
Seth Corker Author

Great points, thanks for sharing your insight. Python seems to be a favourite among Dev Ops and IT because as you said, you can be productive with an extensive standard library.

Collapse
aalireza439 profile image
aalireza439

I started with PHP back in 2008, at the time PHP, Ruby, ASP.NET, and Java where popular languages for server-side programming.
I choose PHP because it had the most resource and everyone I know recommended it.

Collapse
darthknoppix profile image
Seth Corker Author

Nice, do you still use PHP today? How has it changed since when you started?

Collapse
aalireza439 profile image
aalireza439 • Edited on

no, I moved from PHP to Node.js in 2012 and nowadays I use mostly Go alongside Node.js.
I also want to give Elixir a try too.

Collapse
lcoenen profile image
Loïc Coenen

I was 14 years old. The 56k internet was down for some reasons (probably because we had a cheap plans and used it all) and I started browsing the C:/ drive. I ended up in the browser cache reading some JavaScript.

Then, I learned the whole HTML, CSS, Js, PHP stack, C and C++, python, R,...

Collapse
darthknoppix profile image
Seth Corker Author

That's a unique introduction, I remember the days of 56K and negotiating with the phone line. I'm glad those days are over.

How did you bridge the gap from cached JS you stumbled on, to learning about web development?

Collapse
lcoenen profile image
Loïc Coenen

Well I just started playing with the code to see what it was doing, but I had to properly learn programming from tutorials. I read openclassrooms.com/en/ at the time :D

Thread Thread
darthknoppix profile image
Seth Corker Author

That looks like a great resource, I haven’t come across this one before.

Collapse
mohammedmahers profile image
Muhammed Maher

I started with Visual Basic 6.0, then I decided that I want to be a web developer, so I learned HTML, then JS, then CSS, and PHP.

Today, I mostly code in JS and PHP, and if you squeeze my arm I write Python and Golang.

What did I learn from all of that? Well, the language itself doesn't really matter.

Collapse
darthknoppix profile image
Seth Corker Author

That an interesting journey!

What did I learn from all of that? Well, the language itself doesn't really matter.

I think this is becoming more and more true, in the past it was much more difficult because languages were more closely tied to the platforms you wanted to support. With languages like JS transcending the web, it's more true than ever.

Collapse
richardpaulhall profile image
richardpaulhall

And JS is a horrible language.

Thread Thread
darthknoppix profile image
Seth Corker Author

That may be but it's had an undeniable impact on the web.

Collapse
ferricoxide profile image
Thomas H Jones II

BASIC ...because, as a 7yo in 1977, there weren't a lot of options available for the TRASH80 family and Apple ][ at the time. Eventually moved on to assembler because otherwise everything I wanted to do was ungodly-slow. Later in middle- and highschool, we got some PASCAL. Wasn't till college that started getting some C exposure (and got to live through the fun of moving from K&R to to ANSI).

Collapse
darthknoppix profile image
Seth Corker Author

Do you still program today or are you more focused on technical enablement?

Collapse
ferricoxide profile image
Thomas H Jones II

Technical-enablement means that most of what I write are tools and automation rather than applications.

Collapse
nicpolhamus profile image
Nicolas Polhamus

C++!

I started programming back in high school, mainly because I was interested in game dev. So, I did a bit of research and learned that the most popular programming language to dev games with was C++. So, I found a couple of books and started to learn on my own. It was quite fun, I miss the days where I had the time to sink into a language and play around with it.

Collapse
darthknoppix profile image
Seth Corker Author

Nice, that sounds familiar! Do you still use C++ in any capacity today?

Collapse
edh_developer profile image
edh_developer

Applesoft Basic. It came with the Apple //e, and that's the hardware that was available.

Collapse
darthknoppix profile image
Seth Corker Author

Computers like the Apple // came with a programming language. Do you think nowadays it's a missed opportunity that computers don't come with more information on how to start programming?

Collapse
edh_developer profile image
edh_developer

I don't think so. With a modern computer and operating system, generally you have access to Python or vbScript. You also have a web browser and a simple text editor, which gives you access to html and javascript.

It's also likely you have access to the internet, which means much easier access to documentation than we had then. I still remember figuring out bits and pieces from Beagle Brothers code listings. Which was kinda cool, but very slow going.

Collapse
orvillechomer profile image
Orville Chomer

The first programming language I learned was BASIC running on a time sharing computer in the late 70s in High School. We'd log in using a dumb terminal and a modem running at 300 baud.

I thought the idea of programming a computer to do stuff was cool!

Collapse
cathodion profile image
Dustin King

The Algorithm tells me this is your first comment, and that I should greet you so Welcome! :)

Collapse
lawjeremy profile image
Jeremy Law

First ever? BASIC, on an Atari XE computer when I was about 11.

First formally learned? Java, in college.

First professionally used? PHP

Collapse
darthknoppix profile image
Seth Corker Author

It's interesting to see the different languages in different contexts.

Was Java taught with the BlueJ IDE?
(I remember using it in university while learning Java)

Collapse
lawjeremy profile image
Jeremy Law

I honestly can't remember. I think it may have been a combination of eclipse and cli.

Collapse
richardpaulhall profile image
richardpaulhall • Edited on

Fortran, what Programming 101 was taught in (Spring semester of '75).

Then Pascal, at a different school.
Got hired to work in Pascal. Learned several flavors of SQL.
My shop paid to have me trained in PowerBuilder, used that for a decade.

I learned some VBScript, JavaScript, and Perl at work. Three horrible, filthy languages.

The worst code I ever encountered at work were the Perl scripts I had to decipher because the devloper who wrote them refused to support code they wrote at work for the business.

Collapse
darthknoppix profile image
Seth Corker Author

You've made your stance on VBScript, JavaScript, and Perl clear. I know there are some issues with these three languages and devs have strong opinions about them.

Which language do you enjoy using and what makes it more enjoyable/productive than the three mentioned?

Collapse
elcotu profile image
Daniel Coturel

It was QuickBasic, in my family's first computer, a PC 386.

Collapse
darthknoppix profile image
Seth Corker Author

I remember QuickBasic!
What got you interested in programming and are there any lessons from QuickBasic that you carry with you?

Collapse
elcotu profile image
Daniel Coturel

Hi Seth,
I was then 8 or 9 years old. The thing that motivated me was my uncle's example. He is a physics teacher, but knew stuff about programming. Back then, he had some stuff he programmed and it was very impressing, at least for a child. So I started looking in docs and made little programs.
I don't really remember much of that code, because three years later started diving in Java.

Thread Thread
darthknoppix profile image
Seth Corker Author

Thanks for your story, I'm always interested in how people get started and what their influences are. Thanks for sharing.

Collapse
dangercobram profile image
Mike Erwin

QBasic and DOS batch files on the family computer, back when those were beige! I wanted to make games, and started teaching myself from an old GW-BASIC reference book.

Then I read all the way through "Teach Yourself C in 21 Days" even though I didn't get a C compiler for a few more years :)

Mostly C++ and Python these days. After doing this for 25 years I still find it fascinating.

Collapse
pmarkoulidakis profile image
Markoulidakis Panos

Java 1.4

Collapse
darthknoppix profile image
Seth Corker Author

Do you still use Java today?

Collapse
pmarkoulidakis profile image
Markoulidakis Panos

Yes, Java, PHP and learning go

Collapse
namratapdr profile image
Namrata Podder

Java , My school was teaching it and we learned it for like 4 years.

Collapse
darthknoppix profile image
Seth Corker Author

I learned Java in University, It's definitely a popular language for Computer Science courses. Do you still use Java today?

Collapse
fennecdjay profile image
Jérémie Astor

chuck, and C.

Collapse
darthknoppix profile image
Seth Corker Author

That's cool, never heard of chuck before. Did it inspire you to create Gwion?

Collapse
fennecdjay profile image
Jérémie Astor

Sure.
I created Gwion because chuck is too slow (e.g.: it doesn't have a proper VM, using indirections instead), so slow I couldn't take my work to the complexity it deserved.
I also missed C/C++ features, like function pointers, templating.
Then I tried Haskell and added tuples, and I'm in the process of implementing pattern matching.

Thanks for your interest.

Collapse
muhammadwasif profile image
Muhammad Wasif

It was Java. I chose it randomly but dropped it because it was difficult. I learned HTML & CSS and first completed language is now Javascript.
I love Javascript. ❤️❤️

Collapse
darthknoppix profile image
Seth Corker Author

Glad you found a language that works for you! You say you chose Java randomly but were there any reasons that lead you to Java or eventually HTML, CSS and JS?

Collapse
canro91 profile image
Cesar Aguirre

First language ever, QuickBasic at school. I used it just to print 'Hi' and ask for a name to then print it back. Formally, something like C using pen and paper with keywords in my native language

Collapse
darthknoppix profile image
Seth Corker Author

Was it difficult finding resources in your native language when you started learning?

Collapse
canro91 profile image
Cesar Aguirre

No, we had translated books in the library at university. But, they were a bit outdated at the time, to be honest.

Collapse
pinotattari profile image
Riccardo Bernardini

BASIC, because it was, more or less, the only language available in home computer in 80's (yes, I am that old... I was a teenager then).

Actually, thinking twice, maybe it was FORTRAN, the language used at my school (they had a special course on programming using the data processing facilities in the school, it was... mumble, mumble... 1982). It was more or less the same time I bought a Sinclair Spectrum and starting working in BASIC, so it is difficult to say who was the real "first".

Oh, yes, even before that I had a programmable pocket computer TI-57 with room for (brace yourself!) 57 instructions! (Wow...) :-)

Now, almost 40 years later, I use Ada.

Collapse
ponickkhan profile image
Md.Rafiuzzaman Khan 🇧🇩

it wasn't a programming language ,it was WML kind of like HTML . later i used .asp with it to make wap site

Collapse
darthknoppix profile image
Seth Corker Author

That's so cool, I completely missed this technology.

Collapse
leandroruel profile image
Leandro RR

my was html...

just kidding... javascript. then i jumped to PHP.

Collapse
darthknoppix profile image
Seth Corker Author

What got you interested in PHP? Was it the next logical step after learning HTML and JS?

Collapse
abhinav profile image
Abhinav Kumar

C++. My dad got me a guy to teach it to me when I was 12.

Collapse
darthknoppix profile image
Seth Corker Author

Do you remember any programs you made as a child and do you still use C++ today?