4thaccount
That might be worth reading if he can make it explainable to mere mortals. I know he has some videos and articles, but I'd like something to spend the next few years slogging through to get a better understanding of why he thinks everything is a turd. I fully understand the issue of our current operating systems, programming languages, and tools being a steaming pile of garbage, but I don't think that is what he's really referring too. He thinks we should be seeing much further than that. I can't disagree, but there is a lot I don't fully comprehend.
I want slightly more expensive products made in the USA and I'll pay a premium for it, but nothing astronomical.
If I can pay 20% more on coffee and chocolate to make sure the farmers were paid a living wage, we can do similar things in the US. I understand that US wages are much higher and make this more difficult, but it would be a step in the right direction. Globalism has brought down prices and made many things very cheap and affordable, but at what cost?
I'd like comments from anyone with more understanding of the issues.
I believe Rebol's GUI support is even easier to use than ImGUI, but of course it can't be embedded and used in the same way as ImGUI either. I wonder if non Red projects could possibly hook into Red's system once Red/System gets closer to C level performance?
Much of the interview focuses on things like how an OS is uneccesarry and shouldn't exist. Granted, he has drastically different needs than the average user.
I know you're trying to compare it to APL as that language mostly died off and is thus obscure, but I think the analogy is a little off.
While APL is weird, it is actually really easy for me (someone with less than 15 hours playing with the language in total over the past few years) to code up some basic scripts a lot easier than something like C++.
I'm being absolutely serious too. C++ is pretty low level and as a Python coder I feel like I'm sinking in quicksand with everything required to do something simple. APL is basically built around passing arrays of numbers or strings to weird symbols that operate on the whole array. This means I can do text processing with only a few symbols and a library function (and all interactively) where C++ requires lots of boilerplate and debuggers and compilation and pointers. In short, APL seems to be a lot less complicated than both Rust and C++ in my opinion and most using it have very little formal programming experience and have no problem picking it up from what I've read.
I know what you were essentially trying to say though.
I don't think they create paper books anymore. Is that incorrect?
In addition to being fast, I find it considerably easier to read than C++ as it isn't as low level and doesn't have as much noise (at least the later versions like Fortran 90).
It also makes writing numerical code easy as it was truly built for high performance scientific computing.
A lot of older scientific projects run on Fortran and although I know some projects that were migrated to C++, it wasn't due to any defect from the language besides it not being taught very often in colleges now outside of some astrophysics classes where it was once a mainstay in engineering and science curriculums.
There are several compilers available, but a lot of them are commercial and some are expensive. There are free versions as well of course.
To give an example of a diagram showing love interests you create a variable for each person and set is equal to a picture of them.
Then, you simply create a map that represents each of the relationships like Jerry <-> Alice to show that Jerry and Alice like each other, Jerry->Samantha to show Jerry likes Samantha, but it isn't returned and so forth.
At the end, wrap it all in the command to create the diagram (there are lots of them) and you're done.
I know y'all have lots and lots of database documentation, but I've had trouble commenting from Mathematica to Oracle via ODBC. It's a tad confusing, but I'm sure I'm doing something simple wrong. In R, this was really easy, but surprisingly complicated in Mathematica. Do y'all have any kind of step by step doc in that arena? SQLite was of course easy, but I think Oracle requires the use of JDBC with Mathematica and that's where I get lost.
However, Mathematica is powerful in a much bigger way than Octave. Mathematica is more like a very successful and commercial lisp in that it has zillions of composable and we'll documented functions for everything. You don't just copy in a link to an image you want to do something with, but can literally copy paste an image into a function and immediately do stuff with it in a way I've never seen before. Recently I wanted to draw up pretty advanced network diagrams using the images our vendor used. I simply copy pasted them in and then used the graph theory primitives to draw a diagram. Then I noticed that I wanted to add a different picture and it didn't match the color scheme of the vendor. No problem...I just passed it to yet another Mathematica primitive to invert the colors. This was all REPL like interactive and easy to do. There are lots of little commands like this. My favorite example is a file open command that works on over 100 file types. The obvious ones like CSV, XML, JSON, .XLS, & TXT are all there, but so are other file formats like .MPS optimization files, common biology file formats, weather forecasting file types. Chaining this together is insanely easy. Suppose you want to solve a linear programming problem and you have a .MPS file. Just open the file and wrap it in the LinearProgram[] command and then wrap in a FileOutput[] command if I want to write to a text file. There's a lot more for Python where I have to import libraries and write loops.
Mathematica ain't perfect though. It has a large runtime and doing more complicated work doesn't scale as well as I would like for writing big programs. Code distribution is also harder. Nobody else on my team is going to want to install the Mathematica runtime to run my code.
Overall it is pretty nice though and I think it would surprise most HN users.
If it is Java or C# and already in-use, it is pretty simple. If I wanted to install a Go compiler, it could get complicated. Not having Admin rights really slows down an organization. Especially if you're someone who likes to use multiple technologies (right tool for the right job). IT hates that. Note that I don't write production tools, just things to get my job done quicker (automation scripts, data analysis...etc).
Dyalog also sells a standard keyboard with the APL symbols printed on the keys. You might find that interesting.
J uses ASCII symbols and has a small community of very intelligent users that are stats smart, software smart, math smart...etc. It has great bindings to Lapack, built in graphs (well Dyalog does too) and tutorials called labs. The community is much smaller though and it doesn't have any parallel primitives. J is free to use, but the Jd columnar database is commercial, but very reasonably priced.
Honestly, both are awesome, fun, powerful, and plain cool.
Array languages I would consider for actual work are mostly:
Dyalog APL, J, and K if I could afford kdb+.
If I wanted to play with implementations I agree that Ok and Klong are pretty cool.
I would use Dyalog APL or J over K in many cases. K is also really expensive (kdb+)...I'm not sure about Shakti (the K inventor formed a new company and left the first one).