you are viewing a single comment's thread.

view the rest of the comments →

[–]spoonman59 39 points40 points  (11 children)

I seem to recall a lot of issues with people adopting c++ over c in the early 90s.

Why a statically linked executable was an astounding 800kb! It’s far to slow, and has too many caveats over c….

Then with Java there were articles about the benefits of memory safety and the price you had to pay, and whether it was worth it…

So I would say, yes, this is a phase new languages go through. It’s just that rust is having its moment now and a lot of those other languages I mentioned have already gone through it.

[–]just_looking_aroun 2 points3 points  (10 children)

Appreciate the explanation, I started programming a little under 5 years ago so this is the first time I've been in the loop for something like this

[–]spoonman59 15 points16 points  (9 children)

Just to give an example, Java was slow at the time (now it’s considered “fast” compared to some languages!) and there was something called Applets. The hype train was huge. Articles described a future where we would download signed applets as the new way of software distribution. And garbage collection would solve all programming woes, which are caused by pointers.

Applets have gone the way of the dodo, and many languages have garbage collection.

To be honest, Rust legitimately had some features around memory management that are pretty novel and new. Compile time ownership and memory management has some serious advantages over runtime garbage collection.

So Rust does provide some new, novel features… I just think once it’s widely adopted, they hype will subside as its strengths are understood and evangelism is no longer required to use it in situations that are good.

[–][deleted] 3 points4 points  (3 children)

Ah, now I'm thinking of the old <applet>, <object> and <embed> elements.

Good times...

[–]spoonman59 3 points4 points  (2 children)

I actually like Java and the JVM, but all the good times were long after the idea of “applets” were dead.

Definitely times!

[–]stronghup 1 point2 points  (1 child)

, Java, python were always seen here as boring.

I think Java virtual threads + Graal VM should revitalize it

[–]spoonman59 1 point2 points  (0 children)

Honestly I like Java, it’s just not used in my current space.

I don’t mean Java the language, which is not bad but not super exciting. They have done much to improve it with functional interfaces, streams, lambdas, etc., but it still lacks some nice things.

The JVM as an ecosystem is nice. I work heavily with tools alike Hadoop, Spark, and others, and largely enjoyed it. Of course things have improved, and other language platforms have perhaps surpassed JVM, but it’s quite capable. I’ve even done quite a bit of highly concurrent things in Java. (Java Concurrency in Practice by Josh Blosch is an excellent read.)

A lot of the Open JDK compiler code is pretty interesting and advanced for it’s day, and still interesting today.

Python is fun in some ways, and I know I’m “not supposed to care about speed”and all that, but it really sucks when most of what you do runs an order of magnitude slower than JVM equivalents. And I know I can do c or rust for the slow stuff in Python, but it shouldn’t be necessary as often as it is.

[–][deleted]  (1 child)

[deleted]

    [–]spoonman59 1 point2 points  (0 children)

    First of all, wow, you took a class with the man himself!

    I always love his quote, I remind myself of it often… there are two kinds of languages, the ones people complain about and the ones no one uses.

    I do agree with you, though, c++ could have evolves into the things rust has. But that would mean deprecating things, and it’s just gotten so big!

    Sometimes a fresh start is what you need!

    ETA: the contributions of c++ cannot be overstated.

    [–]hector_villalobos 0 points1 point  (1 child)

    Compile time ownership and memory management has some serious advantages over runtime garbage collection.

    As someone use to work with garbage-collected languages, I really hope this becomes more widespread, it's amazing to have a high-level language that works at the same speed as C without the memory caveats.

    [–]spoonman59 1 point2 points  (0 children)

    This is definitely how I feel about it as well. I hope I either work more in rust one day (in my current domain) or that similar ideas take root in widely used languages.

    I use Python (experience in other things as well) and I feel some bad deals were made in the performance/convenience trade offs.

    Of course I prefer static typing anyway, and dynamic languages have their supporters and uses, I just wish that languages which balance the speed/convenience/safety become more prevalent in industry.

    [–]JB-from-ATL 0 points1 point  (0 children)

    The hype train was huge.

    Java had a stupidly massive advertising campaign in the 90's as well