[NA] Which programming language is the worst?

What is the worst language you've had to code in?

  • Perl

    Votes: 5 13.5%
  • C

    Votes: 1 2.7%
  • Cobol

    Votes: 6 16.2%
  • Fortran

    Votes: 6 16.2%
  • Assembly

    Votes: 4 10.8%
  • LISP

    Votes: 6 16.2%
  • Java

    Votes: 4 10.8%
  • C++

    Votes: 3 8.1%
  • Some proprietary non-sense

    Votes: 14 37.8%
  • Basic

    Votes: 4 10.8%

  • Total voters
    37
Oh, I wish it were that simple, but such things are really missing from the undergrad curriculum. I discussed my concern with the head of the EE dept at UF during a recruiting trip a few years ago, and he told me that all that material had been removed from undergrad training and turned into graduate courses. Undergrad was heavily devoted to microprocessors and logic design.
Damn, well, if you're an EE and can't explain how an electric motor works, I don't know how the hell you even get into grad school.

I still stand by my original comment that a prize on memorization and recitation of rote knowledge and procedures is a core issue with our education system, though I'll concede the issue may run deeper for certain subjects.
 
Damn, well, if you're an EE and can't explain how an electric motor works, I don't know how the hell you even get into grad school.

Easy, if the university has moved it to a grad class. They don't expect you to know it as an undergrad.
 
Kids don't grow up tinkering with stuff the way we did.
Sure they do - it's just different stuff.

The kids today play with Raspberry Pi and similar micros the way our generation had the Radio Shack "50-in-1" electronics kits. Today's kids can whip up a website or assemble a PC in their sleep, they just don't have a clue about the voltage drop across a diode junction or the bias for a vacuum tube.
 
Oh, I wish it were that simple, but such things are really missing from the undergrad curriculum. I discussed my concern with the head of the EE dept at UF during a recruiting trip a few years ago, and he told me that all that material had been removed from undergrad training and turned into graduate courses. Undergrad was heavily devoted to microprocessors and logic design.

And it's not just UF. I conducted a survey around 2018 or so of all our folks who had graduated within the previous 5 years and asked whether their college undergrad program had covered such basics as electrical machines, op amps, amplifier design, data converters, and several other fundamental other topics. Overwhelmingly the answer was either no or very limited. Based on those results, I got funding to develop a series of short courses to address the knowledge gap. The courses were still being taught when I retired.

There is so much new technology and so much demand from industry that the colleges don't really have much choice other than cutting some fundamentals to wedge it all into 4 years, but that puts a burden on industry to provide additional training. It also means that when companies have a need for skills in any of the analog disciplines, they have to look for experienced personnel rather than new grads.

I'd really like to see the engineering curriculum expand to a 5-year program. Going to 6 would be even better and would allow additional practical training as well as some ancillary courses in contract law and technical specifications, intellectual property, engineering ethics, etc.

But it ain't gonna happen.
My school is one of the few in the country that doesn't require database for a CS degree (it's an elective). Stupid. Really stupid. But we can't go over the required 120 hr credit hour limit. Students are free to take more hours, but very few do. But they're required to take the absurd "principles of computer science" which no one can agree on a definition. 5 of us are teaching it right now - the 2 teaching online are using a textbook - each chapter is a "quick & dirty" summary a required CS course. Another one is teaching HTML/CSS/web, has many readings were the student must post their observations and research on their website, (and refuses to use any material that isn't written by a woman - don't ask), second half is python. #4 is teaching "from the beginning..." wiring, binary, words, gates, .... all the way up to comparison of python v java when the students haven't had any programming course yet (this is the first CS course).

Yes, I cover binary and how gates & chips work (there's great online software to play with AND/OR/etc but architecture is another course entirely), reading historical and current commentary on impact of computers, how the internet works, current legal issues (software liability, how many people lose life savings or their lives when your software tanks), privacy issues, and a brief intro to the basics of programming - about 2 weeks, and it aint python. Most topics have a fair amount of hands-on stuff, e.g. github, pgp & anonymous email, Section 230, virtualization (mentioned earlier), and so on. I try to cover material I know isn't in any other course in the program but critical when you're getting a paycheck. This semester we spent a couple weeks digging into how AI really works, not ChatGPT or the other generative AI crap.

Problem - no one in the dept cares what we're teaching in the course, just that we're teaching something. We could get rid of this and require database. The students would have a much better education.

The sun is shining, the weather is fantastic, and I'm home with a cold so no flying. rats.
 
I was a BS/CS major. Started out in engineering school, but ended up in computer science. The thing I ended up using the most, of all the classes I ever took, was trigonometry. Statistics was a close second. My first job was doing automated test equipment (take an electronic package, plug it into a fixture, and test every function), and required a lot of measurements and associated statistical analysis. Most of my final job, about 25 years, was with machine vision measurement systems that required a lot of trig.
 
I was a BS/CS major. Started out in engineering school, but ended up in computer science. The thing I ended up using the most, of all the classes I ever took, was trigonometry. Statistics was a close second. My first job was doing automated test equipment (take an electronic package, plug it into a fixture, and test every function), and required a lot of measurements and associated statistical analysis. Most of my final job, about 25 years, was with machine vision measurement systems that required a lot of trig.

The only thing I understand about trig is that I will never understand trig.

P.S. I start my second semester of Calculus this fall.
 
Last edited:
The only thing I understand about trig is that I will never understand trig.

P.S. I start my second semester of Calculus this fall.
If you can remember “soh cah toa” you can rule the world.

I remember zero calculus. I’ve considered taking a class at the local junior college to try to relearn it. Same with chemistry: I remember enjoying those classes, probably because chemistry just “makes sense”, or at least it did to me.
 
If you can remember “soh cah toa” you can rule the world.

I remember zero calculus. I’ve considered taking a class at the local junior college to try to relearn it. Same with chemistry: I remember enjoying those classes, probably because chemistry just “makes sense”, or at least it did to me.

Well, o^2 + a^2 = h^2 might also come in handy, since it leads to sin^2(A) + cos^2(A) = 1.
 
I don't know if it's the worst, but APL is certainly the most incomprehensible.
 
In the long-ago ancient days, I was pretty fond of Pascal and Fortran, both of which were sorta mandatory in the late 70s CS curriculum. I never got far enough along to do any of that professionally (and I never finished a CS degree, more's the pity), but some years later, I found my self in an environment where assembly-level programming was the thing, on VAX and (mostly) PDP-11 machines, and I really liked that - having the degree of control over memory, etc., was critical for software that *had* to reside in the lower 64. It was elegant in a machine-control environment, and while I was not a CS guy, I was enough of one combined with enough core knowledge of hte hardware to make it all work. Especially fun was finding a bug that had lain dormant, waiting for a particular combination of factors to arise before it raised its ugly head.

Later, after I had gotten into lawyer world, I wrote a remarkably complex system using WordPerfect scripts which could be remarkably complex and effective. Built some very robust applications which simply walked one through an interview and some data-entry screens, then built a series of related documents based upon the interview; all data was stored for later edit and reuse (homeboy database). It made one series of transactions do-able in minutes where, a priori, it had been many hours. then, I learned my lesson on backup copies, because one day, it stopped working, and I discovered a secretary had tried to edit it because (said she) "it doesn't work." She destroyed it, I hadn't the heart to recode it and the project was about done because of a change in law. Oy vey.

But it sure as heck worked...
 
Java is Ok. But how so many java programers use it is hideous.
 
Java is Ok. But how so many java programers use it is hideous.
To be fair, that could be said of any language. Even Pascal and Modula-2 which were ostensibly designed to enforce proper “structured coding” techniques. I’ve dealt with horrendous C, assembler and certainly C++ code professionally and bad Modula 2 code in academia. Even Ada can be done poorly. Never underestimate the power of an idiot.
 
TL-DR, learned assembly long ago and it messed up my ability to use "words" in programs. :rofl:

Assembly was the first language I ever used. Saved the files during development on a cassette tape and had to keep track of the counter to know which version. But you could make some impressive programs that were extremely small. Which was important since you only had 64K of memory to work with. Started out programming using the mnemonics: LDA for Load the Accumulator, STA for Store the Accumulator, LSL for Logical Shift Left, etc. After a while you memorize the hex codes and just enter most of the code in hex one handed.


Since then I learned Basic, Pascal, C, Java, etc. I could put together small, working programs but it always felt weird using real words and having so many variables in programs. So for me, my first language is the best and all others aren't. Then again, controlling what is basically a single task robot is different than making complicated calculations or things happen on a screen.
At the end of the day, everything ends up being machine code or wires. I didn't learn assembly first, but it was my second language and I think it helped me a lot. Like learning to fly tailwheel, it helps you understand the basics of how things work.

To the point someone made about database, I see kids that are WAY too specific with what they've learned in college. Like many seem to have here, I grew up in the industry as a generalist, having to do bits and pieces of everything to get things to work. Now things are so complicated that I realize it's impossible to know all of it. But if I'm hiring someone, I'm going to lean toward the person that knows kinda what the point of a relational database is and roughly knows what normalization is, that understands the basic concepts of an IP stack and what subnets are, that has at least a general idea of NAT, port filtering, and authentication basics. But maybe I expect too much.

Actually, I know I'm asking for too much. We're starting to develop some internal training plans to bring new hires up to speed on the basics. And as I write this, I think I'm going to recommend that we relax the requirements on 4 year degrees and start looking at associates and even HS. Because I'm remembering that back in the 90's, you didn't need a BS to get a computer job, in part no college I know of outside of an EE program taught what you needed...and reading the above and reflecting on recent hires I'm not sure the BS degree is all that valuable.
 
To be fair, that could be said of any language. Even Pascal and Modula-2 which were ostensibly designed to enforce proper “structured coding” techniques. I’ve dealt with horrendous C, assembler and certainly C++ code professionally and bad Modula 2 code in academia. Even Ada can be done poorly. Never underestimate the power of an idiot.
Oh, you’ve met some of my students….
 
So does anyone else enjoy 'programmy' games? Currently I'm playing 'Replicube', which is basically writing 3d shaders in Lua: https://www.walaber.com/replicube

I'm big fan of the Zachtronics games as well:
TIS-100 is a very pure assembly language game: https://www.zachtronics.com/tis-100/
Shenzhen I/O is like TIS-100 combined with hardware development: https://www.zachtronics.com/shenzhen-io/
Exapunks is similar except that you're programming little robots: https://www.zachtronics.com/exapunks/
Opus Magnum is a great game about using a symbolic language and micro effectors to design molecules: https://www.zachtronics.com/opus-magnum/
Last Chance BBS is like an 80s themes mini collection of that kind of game: https://www.zachtronics.com/last-call-bbs/

And finally, Turing Complete is amazing game where you get to build a functioning computer out of logic gates in order to stop an alien from eating you: https://turingcomplete.game
 
Shout out to useless and thankfully dead languages - Flash script.

Ruby on Rails was good for basics until it got complicated then it falls to pieces.
 
But if I'm hiring someone, I'm going to lean toward the person that knows kinda what the point of a relational database is and roughly knows what normalization is
Pretty much the same.

Having worked on + managed two "big data" teams at investment funds, for hiring I'd say I only care that people know the basics of CRUD operations and the value of normalization/not duplicating data (except in instances where it may be defensible).
As a manager, everything I want you to know on day 1 for database stuff you could teach yourself in a leisurely self-study weekend with a laptop, a free copy of MySQL and some random CSV sample data you practice loading and retrieving. Extending those DB fundamentals to technologies like Redshift, Snowflake, etc -- not hard at all. You can (and will) learn the rest on the job. None of it is rocket science if you have a decent head on your shoulders.

Because I'm remembering that back in the 90's, you didn't need a BS to get a computer job, in part no college I know of outside of an EE program taught what you needed...and reading the above and reflecting on recent hires I'm not sure the BS degree is all that valuable.
I hear ya. Two of the worst hires I ever inherited were from Columbia and MIT (the latter with an advanced comp sci work). And the absolute, bar-none worst was from Princeton (lasted not even 50 days on the job before fired by executive mgmt). It's not just because of those three but my collective post-college experience has taught me that academic pedigree means very little. It might mean more to venture capitalists looking for the next Stanford Alum startup, cuz it makes a good story, but in practice I think it has a 0.0 correlation with job performance and maybe only a loose connection to intelligence. Though, important to remember: intelligence != efficacy in the working world.
 
C++ Bits and pieces of code already written, always not quite what you need. Clumsy syntax. Been years. Had hands on all the ones in you list except perl.
 
I hear ya. Two of the worst hires I ever inherited were from Columbia and MIT (the latter with an advanced comp sci work). And the absolute, bar-none worst was from Princeton (lasted not even 50 days on the job before fired by executive mgmt). It's not just because of those three but my collective post-college experience has taught me that academic pedigree means very little. It might mean more to venture capitalists looking for the next Stanford Alum startup, cuz it makes a good story, but in practice I think it has a 0.0 correlation with job performance and maybe only a loose connection to intelligence. Though, important to remember: intelligence != efficacy in the working world.

OTOH I collaborated with a kid fresh out of Harvard with a math/CS degree who was probably the most brilliant human being I have ever met. As a hobby, he made an ATV roomba with an image detection camera to find weeds in his yard. As a college freshman, he figured out that Facebook was leaving the location data in their message, and made a mapping app to show you the real time location of anyone sending you messages. That earned him international press and a cease-and-desist court order from Zuckerberg. Marauders Map
 
OTOH I collaborated with a kid fresh out of Harvard with a math/CS degree who was probably the most brilliant human being I have ever met. As a hobby, he made an ATV roomba with an image detection camera to find weeds in his yard. As a college freshman, he figured out that Facebook was leaving the location data in their message, and made a mapping app to show you the real time location of anyone sending you messages. That earned him international press and a cease-and-desist court order from Zuckerberg. Marauders Map
Sure! No question that some brilliant people who show promise early on end up at the ivys and other fantastic schools. And if they keep up that kind of initiative, take intelligent risks and push boundaries and use their creativity -- will probably end up doing amazingly well.

In my experience, it's just not the explanatory variable that recruiters seem to think it is, particularly 5+ years out of undergrad.
 
I still think 90% of successful s/w development is the ability to logically think the problem through. The language is just the tool. Some of those tools have libraries or other utilities to make life easier, but if you can’t work out the solution ahead of time, no language will help.

I worked with guys that could think through and design a solution, but struggled with syntax or whatever else the language threw at them. I worked with guys that knew a particular language inside out, but had no clue on how to approach a solution to the problem at hand. The first group would take a long time but you ended up with a solid package. The second group would work fast but just continue to throw more spaghetti at it, if it ever did work it was an accident and not maintainable.
 
:) When I was in my 20s I thought I was smart. Now I realize I was just stubborn and had no social life. It drove me nuts to not understand some particular thing, so I'd dive in until I figured it out. Reading the manuals for the chipsets and the CPU, looking at the assembler output and executable files with a hex editor, single stepping through code for the fun of it. I know I'm not the only one, I was surrounded by people building things just for the fun of it. There are still kids like that, and I've been lucky to hire a few. They're right out of college and will argue about cloud stuff with people that have been doing it since the start of cloud...and they're often right. It's fun to watch.

I used to think it was the schools letting us down, but reading through this thread I don't think that's anything new. The schools provide an environment where people can potentially learn things if they want to, but the correlation between the degree and the school and success is a bit accidental, IMO, as others have pointed out.
 
Sure they do - it's just different stuff.

The kids today play with Raspberry Pi and similar micros the way our generation had the Radio Shack "50-in-1" electronics kits. Today's kids can whip up a website or assemble a PC in their sleep, they just don't have a clue about the voltage drop across a diode junction or the bias for a vacuum tube.
Heh... I guess I'm in between generations on this one. I started my EE degree in the 90s, had to leave, came back and finished in 2011. I know voltage drop across a diode, but nothing about vacuum tubes except for the applications in which they might be useful.

I still had to take Statics, Dynamics, Thermodynamics, Heat Transfer, Materials, etc... Because "engineer". (Never mind that the non-EEs only had to take one basic EE course. :mad:)

Still, as a hiring manager I would have liked to know that certain fundamentals were covered. It drove me nuts to find recent EE graduates who didn't know how an electric motor worked. I had one young lady tell me, "I can write some great firmware to control your house, but I have no clue how electricity makes it to your wall socket." I had to run a series of training courses to teach our new-hires things that should have been covered in college.
The trick is... Which fundamentals?

Personally, I also think my knowledge of motors is abysmal. We had one course to take on the subject, "Electromechanical Energy Conversion". But it was much heavier on the math than on the physical principles involved, and frankly it really didn't stick because of that.

Personal opinion - a 4-year bachelor's is no longer adequate for engineering. We really need to move to a 5 or 6 year program. But as long as industry is willing to hire engineers with only 4, students will go to schools that offer the programs and get hired. A change would have to be forced by ABET, phased in over time, but I don't see it happening.
You're on to something there... However, I think what's going on is that we as humans have gained a level of knowledge and technology that changes what is important.

Same thing is happening in IT. In the 80s, 90s, and maybe into the early 2000s it was possible to be a "computer guy" and kind of do everything. I started an IT business in the 90s and sold it in the early 2000s and we did everything: Desktop support, server administration, databases, web development and hosting, network infrastructure design and installation, anything we could get our hands on.

Today, IT is both wider and deeper. Take the above, add cloud services, IoT, information security, business intelligence/analytics, automation, AI, etc... There are 2-3 more people in the C suite these days rather than just one "Manager" for IT.

Same thing has happened with EE. In the 50s EE was power systems. Now, there's microcontrollers and embedded systems, computer engineering and architecture, integrated circuits, and plenty of other specialties you can get into.

I think what's really going on with curriculums is that they're struggling with the width and depth. For example, I had to do plenty of stuff with op-amps, 555 timers, and simple logic gates. How much of that is there in the real world today? Do we really need to go deep on how to design an op-amp, or is that a problem we've gained enough knowledge on to basically consider it "solved" to where we can build on others' work if necessary?

When I took my second semester programming and data structures class, our final project was to write a complete enrollment and registration system for a university - from scratch. We wrote every library we called, every class of objects we used, every dang subroutine... And for what? Today, that same class seems to be structured in a much smarter way, where they're allowed to use existing classes and libraries, because that's what you do in the real world!

So, IMO, as time marches on, I think engineering schools need to continuously consolidate the lower end classes while offering more higher end specialty classes as well as teaching students how to learn the skills that they need to learn new subjects. One of the instructors I had for a couple of my classes at the very end (Integrated Circuits and VLSI) did something quite cool - He said "You'll never be able to learn everything you need to know for an engineering career in school. You need to continually learn new things based on new research and technology." So for his class, there was a single exam about 2/3 of the way through the semester for half the grade, and the other half of the grade was to go learn something new that related to the class material and showed your knowledge of the class material. It had to be based on at least two IEEE papers that were less than 10 years old and you had to write a paper on it AND give a presentation on it (another skill that students don't often get to exercise). That was both enjoyable and educational... And one of mine was on the development of glass cockpits and the technologies that enabled them to make their way into GA cockpits. :)

On that note, it wasn't long after graduating I realized I have a deeper respect for people who are self-taught in many of these subjects, largely because it means they actually wanted to know it. They wanted to know how things work and they learned it despite no academic/tangible career track benefit conferred by acquiring a degree. Especially the case in compsci/engineering and even finance.
This is one of the things that always drove me nuts in school. I wanted to truly understand everything I was learning... And it really wasn't always taught that way. To me, knowing book answers and accepting them without understanding the underlying principles just wasn't worthwhile. So, I spent a lot of extra time to develop that understanding, often to the detriment of just exercising the "book knowledge" in an attempt to get better exam grades... And the knowledge wasn't always there by the time the exam happened. So, I did not have a great GPA, but I felt like I learned a lot more than some of my friends who had stellar GPAs.

When I finally went back to finish, it finally dawned on me how much college is geared towards just regurgitation and BS. I got much better grades, but I didn't LEARN as much.

I hear ya. Two of the worst hires I ever inherited were from Columbia and MIT (the latter with an advanced comp sci work). And the absolute, bar-none worst was from Princeton (lasted not even 50 days on the job before fired by executive mgmt). It's not just because of those three but my collective post-college experience has taught me that academic pedigree means very little. It might mean more to venture capitalists looking for the next Stanford Alum startup, cuz it makes a good story, but in practice I think it has a 0.0 correlation with job performance and maybe only a loose connection to intelligence. Though, important to remember: intelligence != efficacy in the working world.
This. I've gone back to look up some of my high-GPA acquaintances from college, and none of them lasted very long in engineering. And that is why every time I see a job listing that requires a 3.0 GPA, I cringe a little. Those aren't necessarily the folks you're looking for...
 
At the end of the day, everything ends up being machine code or wires. I didn't learn assembly first, but it was my second language and I think it helped me a lot. Like learning to fly tailwheel, it helps you understand the basics of how things work.

To the point someone made about database, I see kids that are WAY too specific with what they've learned in college. Like many seem to have here, I grew up in the industry as a generalist, having to do bits and pieces of everything to get things to work. Now things are so complicated that I realize it's impossible to know all of it. But if I'm hiring someone, I'm going to lean toward the person that knows kinda what the point of a relational database is and roughly knows what normalization is, that understands the basic concepts of an IP stack and what subnets are, that has at least a general idea of NAT, port filtering, and authentication basics. But maybe I expect too much.

Actually, I know I'm asking for too much. We're starting to develop some internal training plans to bring new hires up to speed on the basics. And as I write this, I think I'm going to recommend that we relax the requirements on 4 year degrees and start looking at associates and even HS. Because I'm remembering that back in the 90's, you didn't need a BS to get a computer job, in part no college I know of outside of an EE program taught what you needed...and reading the above and reflecting on recent hires I'm not sure the BS degree is all that valuable.
1st, 2nd 3rd Normal forms, then BCNF. 4th & 5th NF are "intellectually amazing" but mitigate the speed & integrity of BCNF, and as AFAIK none of the commercial DBs support either. With the proliferation of MongoDB and Hadoop (et al) the move to non-relational is overtaking all but specific situations where a very fixed structure is required. The key/value pair (which dominates online stuff) is built into Python, Java & JSON, and today's hardware returns results in response times unheard of in the past. Plus the overhead is so much smaller than relational with multiple indices.
 
1st, 2nd 3rd Normal forms, then BCNF. 4th & 5th NF are "intellectually amazing" but mitigate the speed & integrity of BCNF, and as AFAIK none of the commercial DBs support either. With the proliferation of MongoDB and Hadoop (et al) the move to non-relational is overtaking all but specific situations where a very fixed structure is required. The key/value pair (which dominates online stuff) is built into Python, Java & JSON, and today's hardware returns results in response times unheard of in the past. Plus the overhead is so much smaller than relational with multiple indices.
Part of that is why I haven't done development in 15+ years...because I followed roughly half of that. But what we run into is not folks doing data work in the cloud or on on prem servers, but that they're still supporting, or believe it or not developing client/server apps where they're dragging data over links to the desktop, or between back end systems in different cities. Things that wouldn't have made sense ever, without an understanding of how to minimize the data in transit. And there are more than some developers that can't seem to wrap their heads around the concept that spreading the processing around to various locations might affect both the speed and reliability of their systems. It could be that I'm working in a weird spot that has a mix of everything from mainframe to 30 year old client/server to web, but I've seen similar in medical back end systems that are just spooky to me. No idea how they run, or how they haven't collapsed the industry yet with their poor practices, particularly around information security.
 
Have any of you used a "graphical" language such as LabView?

It is intended for data acquisition and instrument control. My experience is that it works for small projects. I still needed procedural code if the data came digitally and required parsing.
 
Have any of you used a "graphical" language such as LabView?

It is intended for data acquisition and instrument control. My experience is that it works for small projects. I still needed procedural code if the data came digitally and required parsing.
Many, many years ago I learned a language that was based on ladder programming (a way of drawing relay based machine control logic). Small projects is right.
PLC was the language.
 
Last edited:
Have any of you used a "graphical" language such as LabView?

It is intended for data acquisition and instrument control. My experience is that it works for small projects. I still needed procedural code if the data came digitally and required parsing.
I eventually became known as the LabView expert in my graduate lab. It was not a title I ever wanted. I ended up developing many relatively complex setups with it to use the NI hardware, up to a jet engine test cell controller using their real time OS platform, but as someone relatively well versed in programming, I despised it. Graphical programming is a horrible concept for anything beyond the most simple of programs.

LabView clearly came from an early world where engineers and academics were not expected to know any programming and wanted to do very simple DAQ setups with the more limited initial NI hardware offering. The concept was simple: wire things up just like you would in the real world! No programming needed.

As time progressed the expectation of programming knowledge for these groups increased while simultaneously DAQ setups and NIs offerings increased in complexity. I’m sure at some point there was a big meeting to decide “should we stick with this graphical programming paradigm? It’s getting pretty clunky” but it was someone important’s darling so they stuck with it. Now it is a full fledged, complex programming language that is completely inscrutable and near impossible to maintain and document.

NI hardware? Decent to good. NI software and lab view? Horrible.
 
LabView clearly came from an early world where engineers and academics were not expected to know any programming and wanted to do very simple DAQ setups with the more limited initial NI hardware offering. The concept was simple: wire things up just like you would in the real world! No programming needed.
It probably came from teaching people new to programming how to do flowcharts, and someone decided to make the flow chart "the language".
 
It probably came from teaching people new to programming how to do flowcharts, and someone decided to make the flow chart "the language".
Yes, that and the analog to electrical wiring. Either way, to stick with it even 20 years ago was asinine, not to mention today.
 
So does anyone else enjoy 'programmy' games? Currently I'm playing 'Replicube', which is basically writing 3d shaders in Lua: https://www.walaber.com/replicube

I'm big fan of the Zachtronics games as well:
TIS-100 is a very pure assembly language game: https://www.zachtronics.com/tis-100/
Shenzhen I/O is like TIS-100 combined with hardware development: https://www.zachtronics.com/shenzhen-io/
Exapunks is similar except that you're programming little robots: https://www.zachtronics.com/exapunks/
Opus Magnum is a great game about using a symbolic language and micro effectors to design molecules: https://www.zachtronics.com/opus-magnum/
Last Chance BBS is like an 80s themes mini collection of that kind of game: https://www.zachtronics.com/last-call-bbs/

And finally, Turing Complete is amazing game where you get to build a functioning computer out of logic gates in order to stop an alien from eating you: https://turingcomplete.game

So oddly, I actually have a strong allergy to programming games or hacking games and find them powerfully un-fun. But I can play a "systems engineering game" like Oxygen Not Included/Dyson Sphere Program/Factorio and enjoy a never-ending dopamine hit. I can also get mad at a web-based game and crack into the JS console and "hack" the game when I feel it is being unfair or unfun -- which is really just a programmy game without permission. :)
 
JavaScript. It is the most programmer unfriendly language I've ever used. If it runs into a problem, it immediately dies and gives you absolutely no clue about the problem.
 
JavaScript. It is the most programmer unfriendly language I've ever used. If it runs into a problem, it immediately dies and gives you absolutely no clue about the problem.
Cannot count the number of console.log lines I have put into it to see where it's dying.

And it's usually me forgetting a damn semicolon.
 
JavaScript. It is the most programmer unfriendly language I've ever used. If it runs into a problem, it immediately dies and gives you absolutely no clue about the problem.
Reminds me of my first experience with Ada. I was building a predictive parser and so had a very complex data structure to be initialized at compile time. (School project, not how I'd do it in real life.) I bought the compiler to save time as I was working full time and could afford it. It was considered one of the best PC Ada compilers in the early 90s but I don't remember the vendor. Dang thing would fall all the way through 30+ full page (on the screen) elements in the data structure initialization, hit the final closing curly brace and say the equivalent of "I dunno. Broke." I culled the data structure down to two elements and spent several hours debugging the syntax until that worked. Then built up all the elements until it was complete. I will say, once it compiled, there was one small logic error that I caught and corrected and it ran flawlessly. But after years spent in C where if the compiler could somehow make some sense it would compile (maybe not what you wanted, but that's a you problem, programmer) It was incredibly frustrating. Later compilers were, I'm sure, much better.
 
Back
Top