Programming languages

Posts
33,237
Likes
37,962
I hate programming in general but Swift, node.js, a bit of PHP, C and some others have been unavoidable.

I used to be a RedHat guy for the longest time, switched to Mac in 2011 after getting sick of dealing with bad Nvidia drivers and haven’t looked back.

This is my setup in the office, MBP and a pair of 5K Ultrafines which make programming and server work a lot easier on the eyes.

Realforce PFU 2 LE keyboard with Topre silenced switches which makes it easy on the fingers. This is the way.

 
Posts
6,592
Likes
26,623
Ah, I forgot this thread existed.

Python
C++
SQL
Bash scripting

CSS/HTML was actually the first thing I learned a number of years ago when I was building websites. I’m a little out of practice with C++ now, but I can get by. I use Python everyday, and it’s what I prefer and enjoy.

I have always been an Apple guy and run Kali Linux on both my M1 iMac & M2 MacBook
Edited:
 
Posts
4,757
Likes
12,034
I'll play:

Matlab / Octave
Mathematica
C/C++
R
Business Basic (ick!)
Various other flavors of Basic (TRS, C64, Quickbasic, TI Calculator)
Python
Lua
SAS
Perl
Bash scripting

I use LaTeX extensively, but I wouldn't call it a programming language. It is more of a typesetting tool. I feared that the ADA was going to make LaTeX obsolete, because it can't make accessible PDFs. Thankfully that has changed, and this last summer someone was able to add that functionality.

To be honest, I have not been blown away by Python. It can do a lot, but it seems like it has a bunch of random libraries that don't play together nicely. I am still a big fan of R for anything statistical. Octave is nice for quick explorations and instruction, but I think Julia may be the future. https://julialang.org/
 
Posts
591
Likes
1,778
Interested to see a programming thread here in OF. I'm a developer by trade, mostly doing web apps these days.

Discovered programming at ~14 years old with Basic and later Visual Basic. Played around with C and C++ in school. Started building Flash animations and websites with Actionscript. Got interested in web development, so learnt HTML, CSS, Javascript, PHP and SQL. Mobile apps took off and I've built a few iOS apps with Obj-c initially and Swift later. Played around in the meantime with Scala, Go and Elixir. Had a few months of machine learning escape trying things with Python. Nowadays I work on a pretty big application with a frontend in Vue + Typescript, and a quite old backend in PHP.
 
Posts
255
Likes
666
Programming languages always amazed me but I still can’t quite understand how it all work. Fascinating
 
Posts
792
Likes
915
Assembler anyone? My last fling was programming various function approximations using the Maclaurin series on a Power PC Altivec engine.

Didn't look at the vid but I'm sure that Lisp was brought up. That's beyond my abilities.
 
Posts
258
Likes
408
No one from the business world/IBM mainframe use COBOL or RPG/RPG2?
 
Posts
2,067
Likes
4,210
I also started out with BASIC, FORTRAN and PASCAL then moved up to c++ in college. After that I just got into Powershell scripting and that's mostly what I do for my daily automation in the Citrix world. I'll integrate batch scripting as needed. I was learning python for a little while but just stopped, meh. 😀
 
Posts
2,660
Likes
4,235
Missed this thread ages ago.

No time to watch the vid at the begining.

I learned early on that there are really only 7 program instructions. (I still have a CARDIAC.) So it was not difficult to learn any new program language.

I played about with them all. My favorites became C and eventually Postscript for scripting. I never really warmed to C++ or the myriad of variation used to 'fix' C which only were attempts to make C more like COBOL, Fortran or PL/1. Pointers are simply 32 bit ints. End of discussion.

I'd make a comment about string library classes and operator overloading, but want to keep things civil ...

Actually I wound up liking PL/1 a lot in my last years of college. I used it to write a BASIC interpreter. I got interested in compiler design and parsing. Which is why in the end I favored Postscript. I was also into graphics and animation.

The real issue is not the language. It is the #$%! software libraries and development environment path setup. Most people have nothing better to do than to revise library code and make installer scripts what are questions looking for answers. Much make work has evolved in the name of accountability and productivity measurement. Especially in QA where people are paid by the hour to watch installers run while they do their school homework.
 
Posts
1,698
Likes
1,653
Assembler anyone? My last fling was programming various function approximations using the Maclaurin series on a Power PC Altivec engine.

Didn't look at the vid but I'm sure that Lisp was brought up. That's beyond my abilities.

Ah, but assembler for which machine? (And some machines had several available assemblers which might make programming easier (or not)

First programming other than Basic was 8080 assembly language, actually programmed on a Z80 which used a superset of the 8080 instruction set.

PDP-10 Macro was a blast. It was really a high level language in disguise.

Am I right that assembly programming is a lost art now? That would be sad.
 
Posts
2,660
Likes
4,235
Am I right that assembly programming is a lost art now? That would be sad.

Seems true. Little 8 pin processors have 8k of flash and 1K of sRam just to support the C++ compiler. Modern compilers are pretty efficient at register mapping and other optimizations.

I was programming AVR processors in assembly through 2018 or so. The instruction set has a close 1:1 mapping to C.

No one anymore cares about saving bit space or clock cycles. Most coding is simply front ends to SQL databases.

Somewhere I have the book on RATFOR which was a precursor to C.

I once had a job, where the lead programmer quit. Was told he needed to fly out to Nashua NH in February. I then had a plane flight to learn i860 assembly. Turned out to be quite an interesting project. The last project of the Itek imaging team what built the cameras used on the early space missions to the moon and mars. I spent much of the hotel time programming random dot stereograms. 'can u see the shark.' Although there is no shark in the one I recently found. It is a character I often sketch.



Sadly the scanner did not work. It was the size of a refrigerator and took 30 minutes to calibrate. The main problem was the interface was I/O bound. One could not move all the pixels through the accelerator cards on the PC computers of the day. Each image was a gigabyte of raw data. The target market was newspaper morgues. The other problem was the halftone dots made recovering the image data impossible to scale without morier effects.

When I got back to the office, my computer was gone. Parted out to pay off creditors.
 
Posts
792
Likes
915
Ah, but assembler for which machine?

A Mercury parallel rack-mount contraption. Can't remember what the model was, but each card had four compute engines and the rack had an additional switching bridge that each card plugged into. The compute engine was a PPC 750 with Motorola Altivec extensions (basically a 128-bit vector processor). I started in raw assembler but then we purchased a package called C Extensions that allowed my to move it into a more C-like format. It was about twenty years ago.
 
Posts
114
Likes
1,014
Yep, it's funny 😀
I started in 1988 with an 8-bit 6502 based computer (and later got a MSc in Computer Science from last millenium), and went through many programming languages so far (from Assembler to Python). Still C is my all-times favorite language. My older daughter studies Computer Science right now (some 30 years after me) and is just reaching the courses with C. I beg her to show some things and she rejects - she really consider it as a "necessary evil" she needs for her exams, and she will never touch later again. I find it very sad, as C gives you full control over the machine. The new CS folks don't strive to have full control over the computer, to use it to the last resource, but just to be able to have something running, often not knowing how it really works. I asked if they know why the recursive algorithms work for example, they didn't knew about the stack and how function calls happen, where the local variables are stored, etc. I hope she will find some job in embedded development, so she will be urged to learn those stuff there 😀

P.S. Apropos Fortran - for the course of "Programming Languages" back in the first university years, we were covering Fortran among others. I took the initiative and wrote a "Fortran to C Translator" with integrated IDE in PROLOG, wanting to prove the professor that I can practically use the three languages. Got an "A" without exam, hehe.
 
Posts
33,237
Likes
37,962
Yep, it's funny 😀
I started in 1988 with an 8-bit 6502 based computer (and later got a MSc in Computer Science from last millenium), and went through many programming languages so far (from Assembler to Python). Still C is my all-times favorite language. My older daughter studies Computer Science right now (some 30 years after me) and is just reaching the courses with C. I beg her to show some things and she rejects - she really consider it as a "necessary evil" she needs for her exams, and she will never touch later again. I find it very sad, as C gives you full control over the machine. The new CS folks don't strive to have full control over the computer, to use it to the last resource, but just to be able to have something running, often not knowing how it really works. I asked if they know why the recursive algorithms work for example, they didn't knew about the stack and how function calls happen, where the local variables are stored, etc. I hope she will find some job in embedded development, so she will be urged to learn those stuff there 😀

P.S. Apropos Fortran - for the course of "Programming Languages" back in the first university years, we were covering Fortran among others. I took the initiative and wrote a "Fortran to C Translator" with integrated IDE in PROLOG, wanting to prove the professor that I can practically use the three languages. Got an "A" without exam, hehe.
Devs are accustomed to limitless memory, resources and included libraries in many cases these days and universities don’t help that situation. When devs tell me they need all this ram and all this garbage my reaction is often “The Apollo guidance computer went to the moon with 4kb of memory and a 32kb hard disk, so what does your micro-service do that is so much more complicated than sending a rocket to the moon?”

incidentally this bloke managed to make a great chess web app in 1kb of JavaScript, this man is a beast.

https://vole.wtf/kilobytes-gambit/
 
Posts
2,660
Likes
4,235
A Mercury parallel rack-mount contraption. Can't remember what the model was, but each card had four compute engines and the rack had an additional switching bridge that each card plugged into. The compute engine was a PPC 750 with Motorola Altivec extensions (basically a 128-bit vector processor). I started in raw assembler but then we purchased a package called C Extensions that allowed my to move it into a more C-like format. It was about twenty years ago.

You mean I am not the only one who worked with PPC assembly?

One of the programmers at apple insisted it was impossible to write PPC assembly due to the instruction branch caching.

I still have a few PPC machines I use for reverse engineering. Or just becouse they are really fun to work with. PPC assembly is fairly easy to read. It is RISC after all. Most compilers tend to repeat the same sequences. Even better is when the old code is shipped with debug symbols. Demangling C++ names can be quite fun.

I actually use Postscript to parse these old programs. It is amazing how much has been lost in the last 20 years. Simply becouse companies want to 'update' things and roll out new version every 18 months or so.

One can learn a lot, and after 17 to 20 years the patents have expired.
 
Posts
17
Likes
21
Devs are accustomed to limitless memory, resources and included libraries in many cases these days and universities don’t help that situation.

Im an Exec in a tech business, the amount of arguements I have had with junior / grad devs about why we don't need to upgrade to the shiny new language / library / design pattern is crazy. Yes, there are some benefits with a number of these new practices, but you can't discount the risk that comes from change, plus the cost to the business to spend it's time providing zero 'customer' value - pro tip the customer doesn't care if it's a micro service or not.
 
Posts
541
Likes
2,094
I took a few programming classes back in the early 80s, mostly in Pascal. But my roommates had a brand new Apple II computer. So in addition to Apple Basic, we attempted to program some video games in 6502 Assembly Language. Coding hi-res animation was very time consuming but at least the end result was fun.
 
Posts
33,237
Likes
37,962
Im an Exec in a tech business, the amount of arguements I have had with junior / grad devs about why we don't need to upgrade to the shiny new language / library / design pattern is crazy. Yes, there are some benefits with a number of these new practices, but you can't discount the risk that comes from change, plus the cost to the business to spend it's time providing zero 'customer' value - pro tip the customer doesn't care if it's a micro service or not.
For me the worst is npm, if I see a nodejs project and I type npm ls, and I see 10 pages of complete crap it drives me insane and I have to start asking what does this crap do, what does this do, what does this do, why we including the encyclopedia Britannica in a node app that simply rewrites URLs? Why does if have a bloody image manipulation library when it doesn’t involve any images?

The weirdest one though was an iOS app that was far bigger than it should have been, ~280MB at the time when all it did was order coffee and food, and I couldn’t work out what was going on, images looked small, no included videos, then I’m going through the project in XCode and I see UnityFramework, some dev had added a 3D game engine to it, including a pile of demo and tutorial code and all the accompanying models and textures in order to implement a 3D loading spinner, which had been abandoned and replaced with a gif anyway.