Community weblog on programming language theory and design, where researchers and practitioners post papers and discuss them.
Commenters call it a favourite programming language theory site with some of the deepest language design discussions anywhere, and recommend it to anyone interested in languages.
Unfortunately, it depends on what sort of job you're going for, and I would be surprised if there wasn't regional differences too. Plus some people have negative preconceptions about the sort of person that would go through SICP (happily, they are exactly the sorts of people you don't want to work for). If you're looking to join a larger company or looking to enter the job market in the next 12 months or so, then probably experimenting with more frameworks and getting some code up would be better bang for your time. Even better if you have contributed to existing OSS projects.
But for your own general longer term career development, SICP is a very good bet. But SICP wasn't really designed for home study so it will be hard going. Personally, I would be very impressed if an interviewee made it halfway through SICP by themselves. I have tried multiple times and never got very far before .. er ... reprioritising.
If you want to learn more functional programming, I highly recommend learning Haskell with Learn you a Haskell (http://learnyouahaskell.com/). This is a much easier start to functional programming and get you productive quickly. Haskell will force you to really learn functional programming as there isn't an easy imperative backdoor (not to say you can't write imperative code in Haskell - see (http://www.haskellforall.com/2013/05/program-imperatively-using-haskell.html) for example, just its not particular easy how to get there). My current project is writing a web app…
I'd encourage you to check out some of the subreddits in the previous
HN discussion link I posted. I think they might be your best bet.
Though Lambda The Ultimate (LtU) is officially a blog, it does have
comments and it might be interesting for you. From their FAQ:
>"Mostly this site deals with issues directly related to programming
languages, and programming language research. However, we allow
ourselves moderate forays to bordering issues like programmability and
language in general."
http://lambda-the-ultimate.org/
Your desire to avoid "web-based" stuff suffers from the fact that such
large swaths of tech today are "web-related" in some way.
Your desire to avoid "compsci basics" suffers from the "News-To-Me"
problem.
Your desire to find "how X works inside" type content seems quite
similar to "how X works _in_ _practice_".
Given the above, I'd suggest reading current research papers. The
trouble with research papers on HN is, papers take more time and effort
to read, so they rarely get significant attention or useful discussion.
Using Algolia HN Search can uncover some research. Stuff like "[pdf]"
files, common sites, organization names, journal names, and even
conference names can be useful:
[pdf]
arxiv.org
plos.org
usenix.org
JMLR
OSDI
CVPR
ICML
Since you want stories with _discussions_ use the "comments>?"…
"Is Haskell as good as it gets?"
It's debatable just how good Haskell and similar languages are. Like any language, it has its ardent fans and bitter detractors.
As for development of "advanced programming languages" in general, if you are interested in what's out there, I strongly recommend you browse the archives of the "Lambda the Ultimate" weblog:
http://lambda-the-ultimate.org/
There are a lot of very knowledgeable language designers on there, and news of advanced language features and new languages filters through there all the time. The blog is not as active as it once was, but the archives are still very much worth studying.
Another great resource is the old c2 wiki. Here are some relevant starting points:
http://c2.com/cgi/wiki?search=haskell
http://c2.com/cgi/wiki?search=lisp
http://c2.com/cgi/wiki?search=scheme
Finally, just hang around HN for a while, and you'll see plenty of posts discussing new "advanced" languages. The HN archives are also worth browsing through.
Very few languages are truly groundbreaking. Most are simply refinements of existing ideas (doesn't necessarily mean that they're not a step forward). If you're interested in something earth-shatteringly different, you're going to need to look into programming language research to find it (One great reference that could probably answer this question better is http://lambda-the-ultimate.org/).
For examples of a recent-ish language that was developed by a professor at UIUC, see http://maude.cs.uiuc.edu/, which is based on rewriting logic and is currently still being developed/refined. But even that has strong ties to a previous language OBJ by the same creator.
If you're interested in learning something really different but a bit easier/more fun, I would strongly recommend Prolog. Schapiro has a great book (http://www.amazon.com/Art-Prolog-Second-Programming-Techniques/dp/0262193388).
CPS can be kind of thought of like a normal programming language with the modification that every function takes an additional parameter "the rest of the program" and calls this instead of "return". Of course once this mechanism is in your language you might have multiple "rest of the program" parameters which the function can pick between.
I found this old thread talking a bit about the lisp condition system [1] which also mentions implementing it in a typed manner.
I used Lisp for a while myself as my favourite language (the condition system was part of the reason) but the problem I ended up switching to Haskell because it has much of the power macros provide coupled with a very strong type system. That's why the potential occurred to me that CPS can probably implement something effectively equivalent condition system.
[1] http://lambda-the-ultimate.org/node/1544
Not a member myself, but after reading a fellow HNer [1], I got curious about the Something Awful Forums [2] because of their (apparent) moderating policy.
Oh, and I think I used to be a member on IlXor [3] in around 2004. Loved their UI (I think it is still the same); and hey, one can always assume that a no-bullshit UI is possibly a good indicator of no-bullshit discussions, just like on HN.
Oh, and Perlmonks and its Meditations section [4] -- I suppose I like a mixture of madness and intellectual depth. And Lambda The Ultimate [5], which is extremely dense IMO. I could skim those old PLT discussions for hours.
Are there any members of The WELL [6] on HN?
1: https://news.ycombinator.com/item?id=23262581
2: https://forums.somethingawful.com/
3: https://www.ilxor.com/ILX/
4: https://www.perlmonks.org/
5: http://lambda-the-ultimate.org/
6: https://www.well.com/