Using an LLM to generate code is not an easily traceable and explainable process. Using a DSL to same ends is. PL research has yet to meet explainability in AI head on.
HN user
oleks
[ my public key: https://keybase.io/oleks; my proof: https://keybase.io/oleks/sigs/3Rdy6-6xTK15bc437BIthtBC6DWImiBZfetXrcBhmSc ]
As an avid designer of CS courses and curricula in the not-so-distant past, I would like for it turn into a success criterion that your course gets included in this listing.
Back when I was involved in designing the BSc education at the University of Copenhagen, I remember referring the committee to the ACM/IEEE-CS/AAAI Computer Science Curricula. Great to see that there has been an update to these recently, complete with a Generative AI section and all :-)
> does any important software use APL nowadays? No.
That's not a question one is able to answer objectively in this world full of closed source software.
Large parts of SimCorp (https://en.wikipedia.org/wiki/SimCorp) Dimension, a suite of software for investment management used by a fair number of European banks and pensions funds, are written in APL. That said, Dyalog exists, and SimCorp does not play any grand role in its existence. So there must be others out there. The mere existence of APL keyboards is proof that there is a market for these things.
The people who do this are likely not American or Western European
Maybe not natively, but they may be working in the US or Western Europe, making upwards 50% of a Google/Facebook salary, if not working at Google/Facebook indeed.
Plenty of companies pay a decent salary for mediocre work, and will take the less morally sound developer, because the sound one isn't willing to work with their legacy code or less moral product (e.g., oil industry, financial services). Making good money in tech != good morals.
Finally, being physically in the US/Western Europe doesn't necessarily imply that you don't think that russia deserves to be treated better.
What does finance have to do with distributed systems? Finance is much more about mathematical modelling, which is an utter pain in a dynamically typed language with nothing but library support for state management.
Erlang as a programming language for writing fault-tolerant systems has quite little in common with Prolog, except the syntax. That is, the semantics of Erlang vastly differ from Prolog.
Yep, works. However, you need to magically restart the browser. Apperently, it runs some background processes whose names contain neither the character sequence "firefox", nor "mozilla", according to pgrep.
Just because you can earn money on something, does not make it good.
I like QR codes, and ordering via phone. You don't have to wait around for the waiter to bring the menu, take your order, take your payment. Don't have to touch a menu that hasn't been disinfected, or is out of date.
They do need to be properly implemented however. That is maybe more a business opportunity than an inconvenience.
Aren't most smartphones dual-sim by now?
Similarly, comments can lie, but a commit-history cannot. That is, if the commits are digitally signed. Then you know something about who made the change when, and get a hint at why. This is much more valuable than code comments.
You are not paid to go the university in Denmark. You are awarded credits by the government, and it is up to you to do something sensible with those credits. Don't waste them on needless courses! Learn that which will yield you (and the Danish government) the greatest benefits throughout the rest of your life.
You can freely use many foreign driver's licenses without extra expenditures.
I spent 17 years in Denmark, and now a couple years in Norway, and I can say that the Danish lunch culture is far richer than the Norwegian one. I studied at a Danish gymnasium and university. I now work at a Norwegian university.
For starters, Norwegians do not employ rye bread.
Furthermore, Norwegian open-faced sandwiches have not evolved into full-blown smørrebrød - where stacking multiple ingredients is such essential part, that you cannot eat the common smørrebrød without cutlery.
Case in point: https://www.valdemarsro.dk/luksus-stjerneskud/
At my university, we would lunch in groups, building such works of art during lunch-time from shared packs of ingredients.
It may be that Danish school children get a "boring" lunch, similar to the Norwegian one. However, as Danes grow up, their lunches evolve in tastes and complexity. It seems less so in Norway, and that's OK, but a tiny bit boring :-P
Have you seen this POPL'16 paper? https://popl16.sigplan.org/event/popl-2016-papers-printing-f...
This will only spot uncommitted changes to tracked files. I want a completely clean repository before I deploy, where there are neither uncommitted changes to tracked files, nor (new) untracked files.
But no, I did not know of git-sh-setup, thanks for the tip :-)
Yes, so this is useful where deployment is "manual" in the sense that it is not a mere git push. It is bad practice to have git data lying around among otherwise public files, so you have to either set up git hooks on the public server, or fine-tune your public server access rights. Both require (slightly) more work than simply not pushing the git data in the first place.
It first performs a git status, then fetches changes from upstream, and checks if all local changes have been pushed upstream (using git cherry).
Why is Oil implemented in Python? IMO Python is a terrible language for writing programming languages.
Ironically, this looks like another excellent argument against the use of fingerprint authentication. It makes it easier to capture someone's fingerprints without their consent - "Hey, could you hold my phone for a sec?" - "Thanks!"
Oh, and it is easy enough to break TouchID[1], so what makes using the smartphone camera any more sensible?
[1] https://www.ccc.de/en/updates/2013/ccc-breaks-apple-touchid
These principles, at least by name, apply in general, not just to C.
I typically fall back to perl when sed isn't quite versatile/cross-platform enough. What do Go regular expressions offer over Perl regular expressions? (Performance, I imagine.)
More importantly, the book fails to mention affine arithmetic.
There's a curses interface[1], and a Python interface[2] built into GDB. Also, you can issue commands when breakpoints are hit[3].
[1] https://sourceware.org/gdb/onlinedocs/gdb/Break-Commands.htm...
[2] https://sourceware.org/gdb/onlinedocs/gdb/Python.html#Python
[3] https://sourceware.org/gdb/onlinedocs/gdb/Break-Commands.htm...
Sometimes, a module is much more than just a collection of functions. Sometimes, a module is a framework, or a whole embedded domain-specific language. At least, it usually encompasses a way of thinking about a given problem.
Erlang is simple-minded about this: frameworks get a special place in Erlang, and EDSLs are hard to come by since you can't declare, or override syntactic structures.
Taking modules out (in any language), you remove the programmer's option to semantically structure what they deliver into a holistic "thing". This may be a good thing: you can avoid monolithic modules.
So I think both options would be nice.
Joe talked about this in Strange Loop 2014, and it seems to me that the idea is far less crazy than it seems. The more functional programming I do, the more sense it makes.
Someone (sorry, don't remember who) also mentioned this at ICFP in 2012 wrt. Hackage, the Haskell community's package archive - that the better method of delivery is a function, not a library. This makes sense in the Haskell community where you have Hoogle (https://www.haskell.org/hoogle/) by your side.
The prerequisite for such a way of programming is to use plain universal interchangeable data structures.
"Write programs to handle text streams, because that is a universal interface." - Doug Mcllroy
I'm not sure it's a prerequisite though, "as long as the programmers know what they're doing" - as is often the case in Unix as well.
- Just because that they can, doesn't mean that they would.
- The list lists Ukrainian aircraft lost during the conflict, not the separatist/Russian aircraft.
- Yes, separatist-held territory is Ukraine territory, and separatists are (at times) Ukrainian citizens, although Ukraine currently cannot guarantee the safety of its, or other citizens in the separatist-held territory.
- As to the last point, who knows. Who produced what, and sold where in the post-Soviet world is a lot harder to debunk than the publicly exposed news.
Russia never took on, and still does not take on its moral obligation to proactively control its border with the conflict zone. Similarly, Ukraine didn't take appropriate action to ban flights over the conflict zone. Ukraine did take action - when will Russia? Both are "guilty" in the case of MH17, due to their inaction.
"There are risks and costs to action. But they are far less than the long range risks of comfortable inaction." - John F. Kennedy.
The fact that you are having this conversation is a good start.
Looks quite elegant :-) You should probably use else-if instead of ifs though, otherwise it is (immediately) complicated to e.g. count the number of instructions you execute.