TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What languages fix

98 pointsby cadalacover 11 years ago

32 comments

TheZenPsychoover 11 years ago
This list hints at something interesting: The intent behind the creation of a programming language does not always match up with the result, or the culture around it.<p>For example, you might say;<p>Lua: SOL (our data language) doesn&#x27;t have enough programming constructs.<p>which is historically accurate, but in a modern context you might also say:<p>Lua: Game engines and other apps need a really easy to integrate, reusable embeddable scripting language library.<p>which is a vastly different problem that lua didn&#x27;t necessarily set out to solve.
cturnerover 11 years ago
I&#x27;m delighted by the way that TCL-like languages and Perl-like languages grew towards one another.<p>The experience that motivates TCL: you&#x27;ll be working on your compiled codebase and think, &quot;damn - it should be easier to glue blocks of this together.&quot;<p>For perl - you&#x27;ll be working in shell, and then move to awk, and find yourself using the function structures and ignoring the pattern matching. And you&#x27;ll think, &quot;damn, I wish this had more powerful programming structures in it&quot;.<p>In the middle you get ruby and lua, which are very similar, but came from opposites.<p>In an earlier draft of this post I wrote python and lua above, but then I checked some history. Interesting - it&#x27;s kind of an accident that python evolution to challenge the shell&#x2F;awk&#x2F;perl scripting space. ABC was created from academic motivations. Python 1 didn&#x27;t quite know what it wanted to be. If you joined python at 1.4 and stayed through the release of 2.0, it&#x27;s easy to imagine that it would have evolved with a more functional emphasis than it did. By 2.2 (new classes) it had solidified as a objecty response to perl5.
tikhonjover 11 years ago
Haskell: other languages make making mistakes too easy.<p>This article came up about a year ago[1], so I&#x27;m just reusing my comment :P. Now I&#x27;d also add:<p>Go: C is the prefect language, except it&#x27;s too low-level.<p>Ermine[2]: Scala is not functional (enough).<p>[1]: <a href="https://news.ycombinator.com/item?id=4954663" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=4954663</a><p>[2]: <a href="https://github.com/ermine-language/ermine" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ermine-language&#x2F;ermine</a>
评论 #6969740 未加载
评论 #6969861 未加载
评论 #6969833 未加载
评论 #6969156 未加载
评论 #6969794 未加载
cturnerover 11 years ago
Only slightly relevant, but an insight I had recently.<p>I&#x27;d noticed that all programming languages were tree-oriented. You kind of group logic into branches. This sounds obvious, but work with me here.<p>This reminded me of the early days of yahoo: it was a big directory (a tree structure). Then we had this revolution where everything became about loose data that was tagged. You&#x27;d have tagged data, and then search on the tags. This tag structure was better for scale than the tree structures we&#x27;d brought with us from personal computing problems.<p>I thought, &quot;I wonder if you could build a tag-based programming language&quot;. And then I realised - that&#x27;s what prolog is.
评论 #6969808 未加载
评论 #6974359 未加载
webmavenover 11 years ago
I would dispute the description of Python, at least as an &#x27;origin story&#x27;. The actual impetus was &#x27;ABC doesn&#x27;t have libraries or exceptions&#x27;: <a href="http://docs.python.org/2/faq/general#why-was-python-created-in-the-first-place" rel="nofollow">http:&#x2F;&#x2F;docs.python.org&#x2F;2&#x2F;faq&#x2F;general#why-was-python-created-...</a><p>If we&#x27;re going for why Python appealed to its early adopters as opposed to the actual motivations for creating it in the first place, something more like &#x27;other languages are all hard to read&#x27; would be fair. You could even reintroduce the Perl rivalry in the form &#x27;Perl is too hard to read&#x27;, if you insist. But it really wasn&#x27;t Perl&#x27;s kludgeyness per-se.
评论 #6969113 未加载
schmichaelover 11 years ago
It would be nice if there was a date attached to this. It appears to be 10 years old judging by the list of languages and the sentiments attached (although time probably wouldn&#x27;t alter the sentiments greatly).
评论 #6968966 未加载
评论 #6968968 未加载
djurover 11 years ago
For Ruby, I would suggest &quot;Smalltalk doesn&#x27;t like Unix&quot; instead. What attracted me to Ruby is that it was a Smalltalk-style pervasive OO language that could be used for scripting and didn&#x27;t require persistent images.
ptwobrussellover 11 years ago
Would be helpful to see this list be updated with a few others. A couple of that come to mind:<p>SQL: Tuple relational calculus is too low level?<p>Julia: Hadoop is a kludge for data science?<p>Clojure: We need Lisp for the JVM?<p>Dart: JavaScript is a kludge?<p>Go: C&#x2F;C++ are kludges for systems programming?
评论 #6968961 未加载
评论 #6968955 未加载
评论 #6968892 未加载
评论 #6969214 未加载
评论 #6969795 未加载
评论 #6969003 未加载
评论 #6969958 未加载
vijucatover 11 years ago
Had to add this because I thought it was fairly obvious, but all the other Scala mentions were either snarky or seemed to miss the core point of the title of the post : &quot;What languages fix&quot;<p>Scala : functional programming without leaving the JVM<p>Because enterprises have spent a decade or so building up JVM expertise in the form of Java.
评论 #6970744 未加载
评论 #6970308 未加载
ColinWrightover 11 years ago
Way back when, I knocked up a graph of this:<p><a href="http://www.solipsys.co.uk/new/EveryLanguageFixesSomething.html" rel="nofollow">http:&#x2F;&#x2F;www.solipsys.co.uk&#x2F;new&#x2F;EveryLanguageFixesSomething.ht...</a><p>There is also an enhanced version that brought it a little further up to date. Problem is, people keep insisting that it must be wrong, because X doesn&#x27;t descend from Y, <i>etc.</i> That&#x27;s why the text at the top tries to emphasise that this is a graph of &quot;developed because of a perceived short-coming.&quot;<p><i>Added in edit:</i> Now submitted as a separate link for more specific discussion.<p><a href="https://news.ycombinator.com/item?id=6970017" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=6970017</a>
评论 #6971136 未加载
paf31over 11 years ago
Might as well take the opportunity to sell my own project: Purescript: JavaScript doesn&#x27;t have a static type system.
coreyover 11 years ago
Haskell: Programmers aren&#x27;t disciplined enough to to isolate side effects by themselves.
pshcover 11 years ago
Rust: Other languages have boundary issues -- action-at-a-distance is evil.
评论 #6969104 未加载
评论 #6970242 未加载
kabdibover 11 years ago
SNOBOL: Nobody can process strings worth a damn.<p>Icon: Generators are cool.<p>FORTH: Omit needless features! Omit needless features! Omit needless features!
intullover 11 years ago
D: because C++ is a kludge
vlucasover 11 years ago
PHP: Perl is too hard to configure and run on the web
评论 #6969268 未加载
woody99over 11 years ago
Node: It&#x27;s hard to find JavaScript coders since there is no career path for them.
评论 #6969497 未加载
seanstickleover 11 years ago
APL: Errors increase in proportion to the amount of code typed; therefore, decrease amount of code typed while keeping expressiveness and power unchanged.<p>Alternatively:<p>APL: Programming should be more like math.
评论 #6969709 未加载
评论 #6969079 未加载
fizxover 11 years ago
Scala: there aren&#x27;t enough ways to do this yet.<p>Go: Java is too bloated.
grannyg00seover 11 years ago
Javascript: Scheme is too unapproachable
评论 #6972467 未加载
aabalkanover 11 years ago
Go: C does not have garbage collection.
ballardover 11 years ago
C fixed Fortran 66 as well as assembly being too low level (very manual memory allocations).
etfbover 11 years ago
I suspect the kindest thing one can say about Forth is:<p>Forth: all the other languages were written by somebody else.<p>As they say: if you&#x27;ve seen one version of Forth, you&#x27;ve seen... one version of Forth. And also: standards are a good thing, everyone should have one!
评论 #6970173 未加载
MBlumeover 11 years ago
For Java I would suggest &quot;Lisp is <i>too</i> powerful for Joe Programmer, and parentheses are scary&quot;<p>Java as essentially Lisp&#x27;s bastard child is I think undermentioned in language history.
评论 #6969177 未加载
评论 #6969361 未加载
评论 #6969174 未加载
laurenyover 11 years ago
Interesting that the newest language that pg lists is more than ten years old. He&#x27;s probably not keeping up with new language development any more?
评论 #6969122 未加载
dschiptsovover 11 years ago
PHP: somehow it runs.<p>Java: not only those MIT&#x2F;Stanford smart-asses can code.<p>Java EE: the way to avoid a drop-out from the field.<p>Javascript: just learnt .getElementById() now I can write an OS.
etfbover 11 years ago
How about:<p>PHP: getting Perl and CGI to work on my web server is too damn hard.<p>Or perhaps:<p>PHP: I can never remember the difference between %, @ and $.
krappover 11 years ago
Javascript: html is boring.
Mikeb85over 11 years ago
Haxe: because nothing compiles to enough targets...
hrabagoover 11 years ago
Coffeescript: Javascript is too ugly.
评论 #6969491 未加载
评论 #6969193 未加载
评论 #6969186 未加载
jayzalowitzover 11 years ago
pg: php?
评论 #6969228 未加载
评论 #6969077 未加载
jbejaover 11 years ago
Lua: Because my dog is called &quot;Luna&quot;<p>Python: Is cute to prefix everything with &quot;py&quot;<p>Javscript: Haha not as cool as suffix it with &quot;js&quot;<p>Ruby: Pff i have the coolest nickname and it is &quot;Rails&quot;<p>Clojure: Oh please, you aren&#x27;t as classy as &quot;La Clojure&quot;<p>C: The power of soul and possibility control!<p>Go:tta Catch &#x27;Em All!<p>Erlang: ErrrrrrrLang!!!