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.

Too Many Programming Languages

5 pointsby supsteralmost 10 years ago

5 comments

Nadyaalmost 10 years ago
&gt;Then we could all write in our favorite languages and make sure the code is transplied to Lisp - just a thought.<p>I read this as:<p>&quot;There are too many programming languages. Why can&#x27;t everyone just use Lisp?&quot;<p>I laughed a little to myself due to the Lisp user stereotype of parading Lisp around as every programmer&#x27;s savior. Did it come off that way to anyone else? I don&#x27;t mean to offend, as I rather enjoy Lisp too. But I felt the premise of the article was &quot;all code should transpile to other code&quot; and I ended up reading it as &quot;all code should be Lisp&quot;.<p>Maybe that was the intended humor. Maybe humor wasn&#x27;t intended. Either way, I got a laugh out of it.<p>There are a ton of libraries&#x2F;wrappers use to run X code in Y language or middle-men. Rubypython [一] comes to mind. While it doesn&#x27;t fully cover the problem it&#x27;s a start. However is that method the one we want to use? Does a better method even exist or is a better method even possible?<p>[一] <a href="http:&#x2F;&#x2F;rubypython.rubyforge.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;rubypython.rubyforge.org&#x2F;</a>
评论 #9702435 未加载
nostrademonsalmost 10 years ago
This doesn&#x27;t work because there are a number of semantic distinctions layered even on top of Lisp-like syntax tree, and all those languages have different semantics. Common Lisp, Scheme, Clojure, and Arc are all Lisps, but you can&#x27;t use code written in one of them inside a different one.<p>The way you get language interoperability is to define a common data format and a common way of indicating which code will execute next. A number of standards do this - platform ABIs, C calling conventions, LLVM&#x2F;JVM&#x2F;.NET bitcode, RPC frameworks like gRPC&#x2F;Thrift&#x2F;CapnProto&#x2F;MessagePack&#x2F;JSON-RPC&#x2F;Avro - but they&#x27;re all lower level than you would normally want to program in.
c-rackalmost 10 years ago
Projects like zproto [1], by using the &quot;Universal Code Generator&quot; GSL [2], have maybe already found the &quot;common denominator&quot; you are looking for.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;zeromq&#x2F;zproto" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;zeromq&#x2F;zproto</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;imatix&#x2F;gsl" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;imatix&#x2F;gsl</a>
mlanzaalmost 10 years ago
I suggested something similar to this a while back: <a href="http:&#x2F;&#x2F;www.halfbakery.com&#x2F;idea&#x2F;Tech_20Spec_20Plugins" rel="nofollow">http:&#x2F;&#x2F;www.halfbakery.com&#x2F;idea&#x2F;Tech_20Spec_20Plugins</a>
ingenteralmost 10 years ago
Here&#x27;s a crazy thought: we already have a common denominator -- IPC.<p>You <i>can</i> write part of your program in Java and other part of it in Python. But the cost of transmitting messages is considered too high most of the time.