Programming thread

  • 🐕 I am attempting to get the site runnning as fast as possible. If you are experiencing slow page load times, please report it.
all the syntax you really need to denote any tree structure is ( )
this post was paid for by the lisp internet defense force
I wonder who could be behind this post...
clisp-menorah.webp
 
>libraries cost money
Run away at C speeds
Technically Matlab doesn't cost money
doge-pirate.webp
At least Matlab still appears to offer functionality that justifies its niche as crazy expensive proprietary software. For example, I've heard that Matlab's DSP functionality still doesn't have a real open source competitor yet. But in the world of data science, SPSS has been on a long decline, its lead having been gobbled up by R and, more recently, Python. Here's pricing to put Paradox Interactive to shame:
Screenshot 2025-07-24 at 07-50-56 IBM SPSS Statistics.webp
Looks like you have to pay extra for features that are in R's base or readily available with install.packages().
 
Last edited:
Technically Matlab doesn't cost money
View attachment 7684906
At least Matlab still appears to offer functionality that justifies its niche as crazy expensive proprietary software. For example, I've heard that Matlab's DSP functionality still doesn't have a real open source competitor yet. In the world of data science, SPSS has been on a long decline, its lead having been gobbled up by R and, more recently, Python. Here's pricing to put Paradox Interactive to shame:
View attachment 7685029
Looks like you have to pay extra for features that are in R's base or readily available with install.packages().
That seems pretty reasonable compared to some of the shit I had to work on before: https://www.progress.com/openedge/features/abl

Horrible fucking language (Looks like SQL, isn't set based but cursor based) Distribution is strictly on a "contact us for pricing" basis. UI sizing is defined in characters. The IDE sucks major balls. This is how hellow world looks:
Code:
DEFINE VARIABLE w AS HANDLE NO-UNDO.

CREATE WINDOW w ASSIGN
    WIDTH = 50
    HEIGHT = 5
    MESSAGE-AREA = FALSE
    STATUS-AREA = FALSE.

CURRENT-WINDOW = w.

DEFINE BUTTON btnOK LABEL "OK" SIZE 12 BY 1.2.
FORM
    "Hello World!" VIEW-AS TEXT AT COL 20 ROW 2
    btnOK AT COL 20 ROW 4
    WITH FRAME f SIZE 50 BY 5 NO-BOX THREE-D.

VIEW FRAME f.
ENABLE btnOK WITH FRAME f.
WAIT-FOR "CHOOSE" OF btnOK.
DELETE OBJECT w.

Compiling works by writing code to tell the IDE what files to compile. Which regularily resulted in a bunch of files not getting recompiled when changed and leading to WEIRD bugs.

Oh and it's far easier with it to work directly on a reference to the data in the (proprietary) database than working with a copy. So accidentally updating records is way too easy to do.

And that's just surface level shit, for a more exhaustive, but not exhaustive at all, list go here https://abevoelker.com/progress_openedge_abl_considered_harmful/

NO marketable skills come from working with it, whatsoever.
 
Horrible fucking language (Looks like SQL, isn't set based but cursor based)
mmmmm this is going to be the most delicious COBOLslop i've seen this month we eating good today
Distribution is strictly on a "contact us for pricing" basis.
is it ever encouraging to see that in any scenario? (except where it's some sort of service that always depends on a lot of unforeseeable factors)
DEFINE VARIABLE w AS HANDLE NO-UNDO.
this code is already so readable, it's almost exactly like english! i declare things as niggerlicious no-divine-intellect all the time!
CURRENT-WINDOW = w.
nice magic variable i assume it completely doesn't work and refuses to tell you why if you don't maintain this variable perfectly
WITH FRAME f SIZE 50 BY 5 NO-BOX THREE-D.
"three-d"
ah, it's so readable and easy to understand, because it's spelled out! such brilliant language design
VIEW FRAME f.
"what's a variable declaration?"
at least this method makes it highly readable, since it's in english! i know exactly what it does: either creates a frame and views it or creates a frame that can view (as opposed to a frame that can't view) or maybe something completely different
DELETE OBJECT w.
and this is the cherry on top. some of us like to talk about how every programming problem was solved by lisp programmers in the 60s as a funny joke, but this actually was solved by lisp programmers in the 60s
of course maybe it's like that because every variable in the language has to be "in the database"
 
mmmmm this is going to be the most delicious COBOLslop i've seen this month we eating good today

is it ever encouraging to see that in any scenario? (except where it's some sort of service that always depends on a lot of unforeseeable factors)

this code is already so readable, it's almost exactly like english! i declare things as niggerlicious no-divine-intellect all the time!

nice magic variable i assume it completely doesn't work and refuses to tell you why if you don't maintain this variable perfectly

"three-d"
ah, it's so readable and easy to understand, because it's spelled out! such brilliant language design

"what's a variable declaration?"
at least this method makes it highly readable, since it's in english! i know exactly what it does: either creates a frame and views it or creates a frame that can view (as opposed to a frame that can't view) or maybe something completely different

and this is the cherry on top. some of us like to talk about how every programming problem was solved by lisp programmers in the 60s as a funny joke, but this actually was solved by lisp programmers in the 60s
of course maybe it's like that because every variable in the language has to be "in the database"
Sadly, it's one of the nicer pieces of code written in that shit language. If you ever have to aggregate data from multiple tables, or access multiple rows of one table at once, the gun starts to look quite tasty.

edit: Here's 2 "fun" examples of how shit it is: https://community.progress.com/s/article/000031694 https://docs.progress.com/bundle/abl-reference/page/KEYWORD-ALL-function.html

"Because KEYWORD-ALL recognizes abbreviations, it does not distinguish betweenFORM and FORMAT or between ACCUM and ACCUMULATE." A lot can be gleamed from just that one statement (yes, EVERYTHING can be abbreviated, including DB accesses)
 
Last edited:
I dare you to find a single proprietary language that isn't an unusable turd straight out of hell, missing basic features from 1980 while the reference sole implementation is full of bugs that never get fixed. "Proprietary language" is the reddest of flags for any software, it emits pure 625nm EM radiation.
 
I dare you to find a single proprietary language that isn't an unusable turd straight out of hell, missing basic features from 1980 while the reference sole implementation is full of bugs that never get fixed. "Proprietary language" is the reddest of flags for any software, it emits pure 625nm EM radiation.
Is Mathematica any good
 
  • Optimistic
Reactions: 306h4Ge5eJUJ
Back