Hacker Newsnew | past | comments | ask | show | jobs | submit | 0xAA55's commentslogin

I recently went to the ends of the earth to get a 2016 manual VW sportwagen in the US -- but it was possible after going to dealerships looking at me like I was insane.

Shifting around in my BMW e36 5 speed will always be one of my greatest pleasures <3 -- nothing gets me up better for work than knowing I can speed around like an asshole on the way :)

People complain about traffic, but I feel the opposite. I mean, in an auto if you see a spot to cut into you are forced to floor it to force the car in a low enough gear -- it feels like the car is suffering vrrrAHHHHHHHHER


I also find it funny that people prefer autos for stop-start traffic. But every single car I've ever owned can be moved using the clutch alone, zero throttle input, so moving in stop start traffic is easy.


That's only because some manual cars have acceleration on their clutch but many others don't. I've driven some that don't have it and if you don't know how to do it, your engine will stop and you'll have to reignite it (with the annoyance of people honking at you).

It's also an annoyance when the traffic moves at different pace in a traffic jam because you have to stop, switch to first gear, move slowly, if the cars are moving fast enough switch to second gear, if they stop back again to first gear... If you are lucky enough and you are in a slope road, you can go without any gear selected and just use the brakes.


I also find it more comfortable to hold a clutch than the brake pedal. The ergonomics of brake pedals on cars are awful, they sit really high and they are right in the middle of floor well. Clutch pedals are designed to use your entire leg in a natural motion.


Want to make a fast application on a pebble and with actual type checking? C and Ada won't complain or blur your lines... http://blog.adacore.com/make-with-ada-formal-proof-on-my-wri...


You can do it in Rust too; though most of the demos I see on GitHub are just demos.


And real programmers write in machine code. Want to get shit done ? Most systems now a day has more then 20kb RAM! Where do you draw the line between systems programming and non system programming ? And why not write some quick and dirty code in say JavaScript and then do what needs optimization in C/assembly ? Assuming you are not restricted to a CPU that cost less then a dollar. And where does Rust come in ?


What kind of engineer goes around saying "It could be faster, leaner, and more efficient? No! Build the biggest, flakiest, ugliest thing that gets the job done today!"


With smart watches we still have problems, mainly to hold enough power. Yes, Pebble can last a week, but that's because it is running less resource intensive hardware, and even then 1 week is still laughable when comparing to old watches that require battery change once per 2 years.

By being more conservative, you can achieve more with less resources.


Every single application or website is a system (see the push in recent years for web assembly).

The difference is that a "systems programming language" has the capability of being used low level if needed while a "shit scripting language" such as javascript does not. Basically what I am saying here is that Javascript is an underwear taint-stain for modern computer science. With any luck it will be rid of this world in 20 years and you javascript programmers can stop torturing yourselves with new "hot libraries" and "ECMA transpilers" every 2-4 years.


There isn't actually a trade-off between efficiency and ease of use across all languages. For example, JavaScript is both slow and memory hungry while also being inconvenient to use.


The big difference here is how additions in C++ tend to work - e.g. keeping all of the deprecated ill-defined legacy and growning features on it like tumors until there are no more symbols left. Unlike Ada and Python which aren't afraid of throwing away poor design and were overall more thought out in the first place (especially Ada).

Its not a "complexity game" in so much as poor design being over-compensated for. C++ is like cancer infecting the minds of young programmers with buggy habits -- and no amount of features and static analysis will change what lies beneath... :p


How specially Ada?!

The only thing Ada has thrown away was GC support that no compiler vendor has ever bothered to implement.

What other features were thrown away across Ada83, Ada95, Ada2005 and Ada2012?

If I present you Ada random code snippet X, are you sure you will be able to say which language version it requires?

Also Python is the poster child of what happens when you throw compatibility away.


>Also Python is the poster child of what happens when you throw compatibility away.

And what, exactly, happened?

For years I avoided Python3. Updating my code base was a hassle I did not want to deal with.

Finally, a few months ago, I had some spare time and took the dive.

And nothing bad happened. I did not even spend hours on it. At this point, all the libraries I need exist for Python3, and the automated tools update my code for Python3 without manual intervention almost every time.


Of a community dragging their feets while avoiding to upgrade at all costs, with developers being forced to backport features into the 2.x branch.


>Of a community dragging their feets while avoiding to upgrade at all costs, with developers being forced to backport features into the 2.x branch.

A minor problem compared to dealing with developers continually using poor paradigms for eternity because C++ did not want to break compatibility.

And I believe the developers who backport to 2.x are not those who implement the features in 3.x. The latter don't care at all about 2.x. Those who backport do not see it as a "pain" but as a new feature to add to their language.


It's amazing that there's someone out there thinking that Python's compatibility break is a "minor problem", even when comparing apples to oranges.

Fortunately the architects of the change said that they've learned their lesson. They don't have much choice either, another one like this and it would be bye bye python.


>It's amazing that there's someone out there thinking that Python's compatibility break is a "minor problem", even when comparing apples to oranges.

Certainly did not affect me or anyone I know.


What I meant to emphasize was that Ada was well designed in the first place, and yes GC was a problem and so were some of the restrictions and aspects of the standard libraries. For example, a big one was unconstrained types for generic actuals...

C is a mine-field of devastating design flaws which have caused many people to die because of decades old decisions made on a whim and any change to basic libraries to make them safer and removing dangerous functions is heresy.

As far as Python, yes the two versions of the language is troublesome for users but the language is objectively better and students learning programming for the first time benefit from a more robust version.

Feel free to give me a random code snippet ;p


> C is a mine-field of devastating design flaws which have caused many people to die because of decades old decisions made on a whim...

Wow. Hyperbole much?

I get that you don't like C, but you sound like a raving lunatic who is completely unconnected with reality.

Devastating design flaws? Flaws I can agree with. Devastating? That sounds a bit overstated.

Caused many people to die? I call BS. (Yes, I'm pretty sure you might be able to document a few. But you said "many", and I'm calling you on it.)

Decisions made on a whim? Again, BS. In fact, at this point you're just making stuff up.


First of all what if I am lunatic xD

There are so many parts of C that are unsafe that a secondary tool is needed to have an reasonable type-checking and that tends to be devastating if they can be easily avoided by even safety critical engineers.

https://users.ece.cmu.edu/~koopman/pubs/koopman14_toyota_ua_... "Toyota does not claim to have followed MISRA Guidelines"

And honestly I dont think we agree on what "a few" is. In my book if any more than 4 or 10 people die from a solved problem in computer science (like strong typing, mutexes, and range checking) that is already way too yes many

As far as decisions on a whim compare the two language design efforts and i'll let you decide:

http://www.adapower.com/index.php?Command=Class&ClassID=FAQ&... "The requirements were not a language specification, but instead they attempted to define rigorously the needed characteristics in a form that could be critically reviewed."

https://www.codingunit.com/the-history-of-the-c-language “It’s entirely Dennis Ritchie’s work”


"Decided by one man" != "decided on a whim".


"...despite the changes that it has undergone since its first published description, which was admittedly informal and incomplete..." ~ Dennis M. Ritchie

It took a decade to even decide what the C language really was and standardize it -- sounds pretty undefined and whimsical to me. But we all use and understand words differently so let's agree to disagree :)


I fully agree with you regarding C, but even though C++ happens to be copy-paste compatible with it, C++ isn't C.

It does provide the necessary language features for security conscious developers to write safe code, the fact that many write C++ as if it was "C with C++ compiler" is an unfortunate one.

Yes it would have been great that we had Ada instead of C++, sadly that wasn't what greedy Ada compiler vendors wanted us to have.


Indeed, except for all the flaws C++ decided to add from C including is cryptic syntax (i++, ++i, <<, ::, ?) and macros it is a good language.

In fact, from that list it seems like it is finally meeting parody on key Ada 95 features -- so maybe we dont have to be so sad :)


Versus the Ada equivalent:

    Foo.Bar.Baz;
  exception when Program_Error => Put ("WHoops");
            when Constraint_Error => Put ("Dang");
            when Gaim_OVer_Main => Put ("??? D: ");
            when others => Put ("IDC...");


Vote this issue up if you have an account! https://community.spotify.com/t5/Ongoing-Issues/Major-I-O-wr...


I tried, but instead it told me I couldn't, and there's this message:

"We've seen some questions in our Community around the amount of written data using the Spotify client on desktop. These have been reviewed and any potential concerns have now been addressed in version 1.0.42, currently rolling out to all users."

So... sounds like it's fixed? If so, good job on making a fuss, everybody!


Or you could just not worry about it and assume the language is well-defined with precise methodologies grounded on common sense like Ada.

https://gcc.gnu.org/onlinedocs/gnat_rm/Value_005fSize-and-Ob...

On second thought, who cares about reading its for squares and nerds. I would rather spend 2 hours Google searching what is an octet and finding out how enums are represented... :p


Ancient cruft from an arcane language and other neat thoughts about scripting languages from 2002.


This only really applies to web-developers.... but I guess that is what is meant by "modern software"


I'm not sure about it applying only to web-developers. It might be more focused on application-developers, where business requirements hit the UI. Developers working on services, libraries, frameworks, and platforms have different engineering needs where some of these guidelines don't apply (and others might).


I didn't see one point that was specific to web developers, or is that a dig on web-based software?

The pitfalls of over-abstraction, trying to be more generic than necessary, more "clever" than the business requirements, etc are platform agnostic.


> but I guess that is what is meant by "modern software"

That's what is meant by "modern software" if you just read on-line blogs. On-line tends to focus around on-line (also, it's hipstery and hot, so it gets lots of attention).

That said, the article is rather general and definitely applies to desktop-app programming too.


I completely disagree - I've been developing software since before the web, and I labored under (and against) all of these syndromes in the "desktop software" days, too.


His examples may have been skewed towards webdev, but I've seen all these things outside of that sphere (95% of my career has been systems and scientific programming).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: