Voice of the Masses: What’s your favourite programming language?
|A nice and simple one for this episode. But don’t just tell us what you like to code in – why do you like it as well? Have you been using it for years, or are you a recent convert? If you can’t choose a specific language, do you feel more at home with high-level or lower-level languages? Let us know your thoughts in the comments below and we’ll read out the awesomeiest in our upcoming podcast. Which will also be awesome, in case you were wondering.
39 Comments
These days it’s Python. After I’ve dabbled a little with Assembly, PHP, html, Javascript, C and C++, I appreciate how much I can do with a little knowledge of Python. Maybe this time I won’t language-hop and learn the language in depth!
Python – but a feel a little “dirty when I use it, as you get results so quickly compared with all the setting up, header files, compiling etc necessary to get some simple program to run in C. Python is just always there ready to go from the command line in Linux, type in a couple of lines and bam! There is your answer. Unfortunately its a bit of a fiddle to install and launch on the work Windows PCs but the quickest way on Windows is to open a Jupyter notebook in the browser.
PHP (particularly now with the Laravel framework). I learnt it as a route into programming ages ago and I’ve always come back to it when I’ve wanted to put together any kind of web app. It’s much maligned, but since also discovering and using Laravel, I’d need quite a pressure to push me towards trying to pick up something else. Good coders can write good code in PHP.
I’ve been using java for my job for nearly 20 years now and I’ve grown so used to it that I sometimes think and dream in java.
Every once in a while, for hobby projects, I try out a new language like PHP or python but everytime I feel to be loosing a lot of time just getting to know the language and quickly switch back to java.
I know java’s not perfect, lots of boilerplate etc… , but it has its advantages as well: the platform independence and libraries to do almost anything to name a few.
Java is like this nice old comfy sweater I don’t want to let go off.
My favourite programming language is Nim (nim-lang.org). It combines the expressiveness and ease-of-use of Python with the speed of C, because it is a compiled language. It offers an (optional) garbage collector, as well as meta-programming by templates and macros.
Nim looks pretty neat. Will definitely check it out. Thanks.
Python, because I am not a scientist and not a programmer. Python makes sense and is great for the small jobs I need performed, like text or image processing. It just works. It is also used widely, so if I have a problem it is likely that somebody else on the internet has experienced the same issue (and found a solution for me to copy and paste!).
*am a scientist
Ha ha, for a moment I was going to ask what you were… 🙂
For some time now it’s been Python with C where necessary.
I never liked c++ as it generated bloated code and seemed to slow down the code writing process.
I still do a bit of assembly on embedded systems like PIC or Arduino but only if there is no choice.
As a “silver haired” programmer I have used many languages over the years like PL/1, APL, COBOL, ALGOL 68, FORTRAN, FORTH (still a favorite) and BASIC but, right now, Python is the best all round supported language that is cross platform.
I personally really enjoy using modern JavaScript (ES6) with a functional programming approach using Node.js. The availability of quality packages via npm (node package manager) makes using 3rd party code a pleasure. JS performance is still improving due to it being the language of the browsers and tooling has come a long way since the hideous days of IE6 error messages.
Saying that, I think Python is a productive language as stated by the Scientist (Charles Malpas). I have and would recommend it to anyone wanting to start programming. R is also good for scientific and statistical analysis but I prefer Python due to familiarity.
These days, if anything needs done… I do it in bash. It’s a typical case of everything being a nail at this point.
The direction I am trying to return to nonetheless is python…. but for writing terminal applications to simplify use of other CLI tools…. bash does the job succinctly and clearly…
Python 3. I try to use PyPy for this when I can.
I have to use Go for stuff, and while not horrible it is a bit depressing because it is not that much better than C after all these years.
I write PHP for a living (along with the Laravel framework) and have grown to hate it. If I had the choice again and we were building a monolith application I’d probably choose Python, however, we’re in the process of trying to split the application down into smaller parts (microservers/serverless) in which case I think using the best language for the job is the best approach. JavaScript is way out though, mainly because of the nightmare that is node and npm.
It depends on what I’m doing 🙂
Bash is my favourite for processing files or otherwise orchestrating the use of multiple tools.
Python is my favourite for crunching through data and doing interesting things with it. For example, at AWS, I write a lot of code to do with transforming data structures read from JSON or YAML documents. Python has all the best things for this: libraries to deal with JSON/YAML, list/dict comprehensions, etc.
Javascript is my favourite for writing web applications because Web Assembly isn’t ready yet 😉
Lua is my favourite for writing games because LÖVE (love2d.org) is the best thing since sliced bread.
Go is my favourite for writing command line tools that need to be available in small, tightly controlled environments because it’s simple to provide all-in-one binaries for multiple platforms that don’t need anything installed. Great in a Docker environment or something like that.
At the moment, despite trying to learn D, it is still APL. It is the most concise language around. It is still one of the most powerfull ones as well. I has a fancy looking cryptic alphabet all of its own. You can write a sort on a key field in one line L←[⍋L[;key]] and feel like a kungfu master when you have done it.
that APL routene, it should be:-
L←L[⍋L[;key];]
that is if L is a table with row records and column fields, one of which is a key field called ‘key’ which is itself a scalar.
JS ! Not just for the joke. Because it is the first language i could do some map reduce arrow function functional goodness. And because i hate CSS so i just kick arithmetics into the Dom when the absolute, relative, fixed flow stops making sense.
I am a bit of a troll but what the heck. i am probably facing a frogxit after taking the piss at your dear island for the last month. Kisses from France. Sincerely yours.
Ps : python and django rock to !
python3 – first one where it were easy enough for me to wrap my head around object oriented programming concepts/patterns.
Ruby. It’s so compact and expressive and it’s a perfect fit for my head — code I write often seems works first time.
Honestly I’ve not met another language that combines terseness with readability. Python comes close (and will be a better fit for you if you are on … ew … Windows) but Ruby is my first love.
Ruby all the way for me. It’s the only language optimised for programmer happiness. Seriously, that’s the philosophy. When you start using it you see why.
I combine Ruby with Rails and have been doing so for about 2 years. I’ve used many languages before that: Basic, Pascal, C, C#, Clarion and few others along the way. I’ve been developing software since 1982.
JavaScript for me. It’s the only language that’s universally available on any modern device, via the browser, with no need to install anything else or play “which lib should I use” to do something like network access, or display a UI or image on screen.
It’s not constrained to the browser, either: recently I’ve been playing with Espruino (a small JS interpreter) on ESP8266 devices (£4 from ebay) to create IoT sensors and controllers.
(I’ve still got a soft spot for Lisp though!)
I think I’ll always have a place in my heart for Z80 assembly language. Since my Spectrum days of hand compiling, I think I can rhyme off most of the common opcodes and hex/decimal representations by heart (RET, C9, 201). It is simple, powerful and almost without caveats. I find it such a treat these days to use a _real_ assembler and run the output on an emulated device. And with the Spectrum-Next on the way, my programming future is bright 🙂
I rage-quit Microsoft a decade ago and as a web developer have been using PHP/JS predominantly with occasional forays into Python and C. I have to admit I really miss C#. It’s consistent, strict and predictable. Pretty much the opposite of the hideously deformed stepchild of a language that is PHP. And trying to keep ahead of Javascript is like a running of the bulls where the bulls are all on crack cocaine and you’re wearing flip flops. 🙂
* for clarity: using Microsoft products / OS. Not working for the company.
I haven’t used it in ages, but I’d probably say my favourite language was Delphi. There’s a lot to love: it’s easy, it’s type safe, the compiler is really clever – it compiles to really fast code, it has a massive library of GUI components which makes building GUIs very easy. This is because it makes building your own components easy, another thing to love. It’s unfortunate that it’s pretty much dead these days.
Freepascal and Lazarus is almost as good. It builds cross-platform executables, which is awesome, but it doesn’t have the same library of controls as Delphi. Also it’s not compatible enough with Delphi.
For those not in the know, Microsoft poached the head delphi guy to work on c# and .net. About 90% of the things people love about .net are actually delphi things that got included in .net.
My favourite language that I’m using right now is python. It’s really easy, runs pretty fast, and also has a massive library of goodies.
You said almost word for word what I intended to say. I might add Kylix to the list of similar environments, but among my sins was never migrating past Delphi 5, so I never learned all the new-style components. I sure got a lot done quickly and elegantly in Delphi. And today I use Python. I heard a talk about Rust at SCALE and next time I look at new languages it will be my first candidate.
I am embarrassed to say that I do not program 🙁 I am a fairly creative person (videos, photography, poetry) but except for remembering 10 PRINT “I AM THE BEST” / 20 GOTO 10 / RUN from a lesson in BASIC at primary school on a BBC computer, I haven’t done anything further. I wonder if it’s too late for me, or whether it’s entirely necessary? I hear kids at school are now being taught programming which I would have loved, but in my time, school PCs were for word processing and nothing else. I feel ashamed as I love using Linux creatively, but feel I will always be a User rather than developer.
I’m just a wannabe-hobby-developer, but I daresay it’s never too late.
Just a few ideas to get started:
https://automatetheboringstuff.com/
http://www.linuxcommand.org/tlcl.php
https://www.edx.org/course/how-code-simple-data-ubcx-htc1x
There are tons of free (and also for-moey) resources out there; get out there, learn, and have fun! =)
Thanks Jeffrey – they look interesting, so will definitely have try and have a go! Cheers 🙂
In chronological order:
C – anything was possible (function pointers 🙂
CICS/COBOL/DB2 – these three bought me my house
REXX – fantastic scripting language (for IBM kit)
Perl – fantastic scripting language (for anything else)
Yes! Another COBOL programmer! I also took Pascal on cards at Iowa State University. The good old days. 🙂
Oh, and CICS for me as well. No DB2 though.
I also love REXX. We used Xedit on our IBM mainframes and I still use KEXX and Kedit on my computers today.
Ruby is my favourite. It has been designed to fun and expressive from the start. Just ask “Matz”. It is a Japanese language which makes it come from my favourite country. The land of Nintendo, Dark Souls, Midnight Diner and Studio Ghibli movies. The only thing about it that makes me sad is that using it in my work is only 1% of my job. Thats why I use it for fun. I use it on my Spotify Web site http://www.spottymail.co.uk 🙂
This is a bit out there sorry in advance. I’ve been using qb64 to write some text file manipulation programs. I write it on Linux then compile it into an executable using quickbasic on windows. As with most large companies these days the pcs are so nailed down you just can’t to bugger all. The thought of mucking about in excell to reformat a 500 line telemetry file, when I can just drop the .txt file onto an icon for it to do all the heavy lifting and to spew out a .csv is just too much. It may be a bit retro but it just shows that linux is brilliant, qb64 seems 100% compatible with quickbasic but allows the screen to be bigger, not stuck with some old DOS screen size. The .exe that’s compiled just flies under the radar of any checking that occurs on my pc.
But for anything else it’s python for me all the way.
DARN! I always miss these things. Anyway to get an alert? 🙂
Anyone – no one has mentioned ‘Go’. It’s awesome. Created by the creators of C and UNIX themselves (Ken Thompson, Robert Griesemer, Rob Pike). It is compiled and has natural support for parallesim, as well as automatic code formatting, and clever interface stuff, while being much simpler than java and C++
It is over thirty years since I graduated in Comp Sci so have sen a lot of “sure things” come and go. WAP, CORBA, Java Beans, ATM, APPC, OS2 anybody ? One I therefore came to with deep cynicism was C# . Indeed I avoided it until a former colleague who I held in high regard said I should try it. I did both GUIs and server work so loved it for both. Robust exception handling and easy front ends with properly thought out OO. If only we could write for iOS and Android in it then the world would be a better place.
Prolog for high level and C for low level, but bash scripts, awk, sed and perl usually cover my daily needs.
Lisp for Emacs tweaks.
I like to program in C thee days but have no application for it in my line of work. After 20 years of developing in anything else professionally and having almost all creativity beaten out of me when it comes to software development its good to go back to it for fun. C from my uni days harks back to game and hobby programming. It feels good to get a bit more under the hood, instead of templating my way around at a high level for business applications…like fixing up an old car.