4 ms·
Ousterhout's main argument seems to be: > This is the proposition that you should use two languages for a large software system: one, such as C or C++, for man
by thomasahle 2y ago
Ousterhout's main argument seems to be:
> This is the proposition that you should use two languages
for a large software system: one, such as C or C++, for manipulating the
complex internal data structures where performance is key, and another,
such as Tcl, for writing small-ish scripts that tie together the C pieces
and are used for extensions.
Thankfully, today, we have great programming languages, like Python, that people enjoy using both for large software systems and for writing small-ish scripts.
So, I suppose Stallman was right?
I definitely agree with him that Unix shell syntax is awful.
- theonemind 2y agoI can't say I enjoy large software systems written in Python.
- d_tr 2y agoI can't understand why anyone would decide to write anything complex in Python.
- bdjsiqoocwk 2y agoStallman is always right, if you're willing to wait long enough.
- OhMeadhbh 2y agoif Stallman is the answer, it must be a pretty intolerant question.
- f1shy 2y agoWhich means he is a real visionary, doesnt it?
- bdjsiqoocwk 2y agoI think so.
- commandersaki 2y agoWas he though? I don't really see Scheme, Guile, etc. really being the embeddable language of choice. These days it seems to be Lua.
- SilverSlash 2y agoIf you go through the linked discussion on google groups you'll find Guido van Rossum advocating for using python :P
- deleted 2y ago[deleted]
- toxik 2y agoI disagree, Python is exactly the glue language that Ousterhout was describing.
- thomasahle 2y agoOusterhout is talking about Tcl, a language that doesn't even have arrays. Or numbers. Did you ever try writing a large 1mil+ line codebase in Tcl or Bash? I'm pretty sure you'd prefer Python.
- constantcrying 2y ago>Thankfully, today, we have great programming languages, like Python, that people enjoy using both for large software systems Python is absolutely terrible to use as a stand alone language. Almost everywhere it is used (ML, Data Science, Scientific computing, etc.) it is used to call C or C++. The amount of serious Python software that doesn't makes extensive use of calling to other languages is very small. Python alone has very severe shortcomings, that make it totally unsuited for stand alone development.
- EdwardDiego 2y agoSo many citations needed.
- constantcrying 2y agoFor what specifically? Python is absurdly slow, for naive array task you can easily get a 100x to 1000x speedup compared to any native language. The GIL doesn't really help either... I think my comments are pretty well accepted and substantiated if you look at what people are actually using python for. Right now AI is big, Python is at the center of that, to glue C++ together...
- EdwardDiego 2y agoWell you made a bunch of claims. So, any of them?
- constantcrying 2y ago>Python is absolutely terrible to use as a stand alone language. Follows from the others. >Almost everywhere it is used (ML, Data Science, Scientific computing, etc.) it is used to call C or C++. See the big libraries in those fields. Do you think tensorflow or numpy are native python. If you are using python for scientific computing you will be using libraries which call out to native code. >The amount of serious Python software that doesn't makes extensive use of calling to other languages is very small. Given the above and that Python is most prominently found in those fields it seems pretty certain. There is standalone Python software, but usually only as a replacement for shell scripts or for relatively small applications. >Python alone has very severe shortcomings To name a few: GIL, lack of common default types (e.g. C like integers), enormous interpreter overhead, no mandatory typing (which introduces a whole range of runtime errors impossible in strictly typed languages). These alone make it totally unusable for many applications, unless you call to an external library. >that make it totally unsuited for stand alone development. See above. >Python is absurdly slow, for naive array task you can easily get a 100x to 1000x speedup compared to any native language. Personal experience. >The GIL doesn't really help either... It really does not... >Right now AI is big, Python is at the center of that, to glue C++ together... See e.g. what numpy, tensorflow, pytorch are written in. Spoiler, the matrix multiplication isn't implemented in python.
- f1shy 2y agoPython is the glue. Many Python packages, which need performance, have big pieces in C. Just as he described.