Hey Scott...didn't know u were on HN. I've enjoyed most of your writing tremendously and am sad Kerf didn't work for you and your business partner. I hope you find time to write more about J in the future. Your comment on not wanting to write another single For-Loop has really resonated with me. I've played with J/APL/CommonLisp/Clojure and nearly another dozen languages, but Python has traditionally been my daily driver. Recently though I've been using Mathematica and have been very impressed with the terseness. There are zillions of functions that are very easy to combine to get things done. It is kind of like a Lisp on the backend as most functions consume and create lists. I've found having primitives for charting, graph-theory, numerical solvers, and OS level stuff to be very enjoyable with no explicit looping. They also have plenty of primitives for things like FFT and Linear Algebra...the price is quite high though.
I actually read this recently...very interesting. I've learned a bit of Esperanto myself and if anyone is wondering, yes it is really easy to learn. My grasp of Esperanto grammar and vocabulary is significantly stronger than Spanish despite years of formal instruction in high school. Knowing a single word like "dento" for "tooth" tells me the place where a dentist works by adding "ejo" to the end and what a dentist is called by adding "isto" to the end of tooth. I still have a lot to learn, but a few root words gets you a lot of mileage with Esperanto.
Back to the article. It's always interesting how these families work that meet at Esperanto events. Hungarian is an extremely challenging language, so it sounds like her French father could only fully communicate with them in Esperanto. I bet your fluency goes up fast. I'm curious if there are words her parents had to invent if there isn't an Eaperanto word. I guess you could always describe a computer repairman some other way by adding electric-machine-fixer-man together or something like that...I'm sure this happens in other conlangs too.
Numpy does have much better scientific capabilities, so you can use vanilla Python for the basic coding and Numpy routines when you need them.
APL uses arrays for everything though. I just wish it had taken off more on the scientific front instead of the financial side as the linear algebra stuff isn't nearly as fleshed out as Matlab/Numpy/Mathematica.
People make fun of Perl6 for adding Unicode operators, variables and such like having them would just be totally insane when APL has been doing that since the 60's and it works well lol.
Certain things translate, but not everything. In J when almost everything is an array and you're using points free form, you can pretty much combine everything without having to build classes...etc. Those python examples are much longer even for simple stuff. As far as books go, Dyalog APL has "Mastering Dyalog APL" for free and although Dyalog costs money, a hobby license is free. There is a guy who writes programming languages and books for a living. He recently wrote an array language called "Klong" and a book on it. J has several books. There's not a whole lot on the philosophy, but using it teaches you what you need. It looks like line noise at first, but you start to recognize idioms and phrases. Aaron Hsu did two HackerNews discussions on here and a YouTube broadcast on his "co-dfns" GPU compiler for Dyalog APL. That was pretty amazing. He talks about trying to write it in Scheme, Java,etc...but APL lets him put it all on a few pages to where he sees everything at once. At his level, abstractions aren't necessary.
Haha, I was joking but the substance is tar-like and won't come out easily (sat on a creosote bridge once). We have some plants in my area that make it as well...I'm kinda scared what the long term impacts will be healthwise as you can sure smell that chemical-tar-oil compound.
We do have plenty of 500 KV (all over Louisiana and Arkansas for example), but a good bit of 765 as well. It's very costly to get right-of-way and the bigger the installation the more right-of-way you need.
Do you mean matter replication (no we won't as this violates the Heisenberg Uncertainty Principle similar to the transporter), or something akin to a very complex vending machine that can make things from Ramen to Fajitas?
I agreed with y'all as well at the time. Anytime someone hated on windows phone I would show it to them and it wasn't at all uncommon for them to go out and buy it later. The PDF viewer is the only thing I've ever had an issue with.
Pretty cool to see Nim being stable enough prior to 1.0 for people to be writing other languages with it.
Spry does look pretty cool too. Besides JS, I have huge respect for all the langs that Spry was influenced by (Lisp, Rebol, Forth, & Smalltalk). I think only APL is left out if this were my favorite grouping :).
With that being said, what are the plans for doing a multi-user live coding setup? Also, how is the Smalltalk like syntax homoiconic?
Optimistic. On the whole, things are getting better globally despite what the media proclaims. My concern for the future is the continued automation of jobs that sometimes unemploys thousands of people without a valid skill set to fall back on. Despite being raised conservative and having some libertarian views, I've found it increasingly more difficult to not think more seriously about UBI (universal basic income). We're not there yet, but I believe in the next century we'll get to a point where most people won't need to work. As a society, we need to start thinking how this should work. How to keep the population educated and motivated to continue human progress. How does one contribute in these circumstances? What basics should be provided by the state? Should population control measures be introduced?
I know what you're saying, but I don't think you're catching my meaning. I believe good leadership involves specific skill sets applied to a particular area and that very few people can truly serve in the generalist role that the MBA & politicians try to sell you.
I think I'd be fine with a politician with a non science background if they had excelled in Math/Science based courses in highschool and were generally curious as to how our world works. The problem is that most politicians I've met have a strong legal background (good), but a non existent technical background. How can you make key decisions if you don't understand these topics? You just take the word of advisors? If two advisors tell you two different things, how do you know which to trust?
My company has two engineering departments. 1 that has a very traditional management chain (non-technical) that is very bureaucratic with lots of meetings. The other promotes only the best technical engineers with ~10 years of experience and people skills. The latter typically performs far better finishing all projects on time and under budget. My boss's boss knows every table in our database, how each interface to our various apps works...etc. All our management in that department can speak on the same level as our vendors and drive key design and architecture decisions and the next day be talking to shareholders in the political realm. When someone asks them a question they can give an answer down to the lowest level of granularity if need be. So my experience based theory of management is to take high performing domain experts with people skills and put them in management in lieu of typical Harvard MBA types. Then pay for them to take some finance classes to round off that skill set if needed.
Yea I used it a bit in college. It is pretty neat when it has the information you need, but a lot of people are using proprietary information not on the public wolfram alpha cloud. So Alpha is a little gimmicky to me although great for helping with homework.
I think it's just something that catches the press and gets publicity. Then someone looks at their products and maybe likes what they see(Mathematica is pretty neat). Kinda like a foot in the door. That or Wolfram really does feel that automata are extremely important.
Yea he is obviously smart getting his doctorate at a young age and the prestigious MacArthur grant, as well as making some important contributions to the CA field, but his best attribute might be being a businessman making millions selling a good product. Part of that involves self promotion, but it does make me uncomfortable how extreme he can get with it (I'm thinking his NKS book). Cellular automata are cool, but I'm not seeing the explosion in the field and how they're being used for everything like he keeps saying (hopefully someone on here can confirm/deny this who is active in that area).
So only a little off topic, but does anyone here use the Wolfram language and Mathematica for research and common coding tasks? I've been pleasantly surprised so far with the depth of the language (the import statement is a single unified way to import everything from CSV, text, excel files, mathematical optimization (.mps) files, graphviz dot files...etc). I'm just starting to use it and the fact that you can wrap a oneliner in a single command to turn it into an interactive widget with a slider, or convert it to C code, JIT it, or run it in parallel or on a GPU is crazily well integrated. I love python (open source and free instead of proprietary and expensive), but in Python every one of those things is a separate library if it exists. I've always known about Cython/Jython/PyPy, but that requires a lot more effort to utilize in the same way.
True, but it's a hack...not something fluid/elegant/seamless or efficient. I'm not a software engineer. I'm just a traditional engineer that wants an OS written for a power user that allows me to do my job more efficiently. Dealing with a multitude of wrappers is worth it if you're writing production software of course, but not if you write a lot of one off scripts for day to day work.
I've stated on here numerous times that Powershell falls short because pipes aren't text based as in Unix, but are really more like method chaining in .NET. Most of the time I have the output of one command, but can't easily reason about passing it to the next command.