←back to thread

448 points nimbleplum40 | 6 comments | | HN request time: 0.839s | source | bottom
Show context
hamstergene ◴[] No.43565725[source]
Reminds me of another recurring idea of replacing code with flowcharts. First I've seen that idea coming from some unknown Soviet professor from 80s, and then again and again from different people from different countries in different contexts. Every time it is sold as a total breakthrough in simplicity and also every time it proves to be a bloat of complexity and a productivity killer instead.

Or weak typing. How many languages thought that simplifying strings and integers and other types into "scalar", and making any operation between any operands meaningful, would simplify the language? Yet every single one ended up becoming a total mess instead.

Or constraint-based UI layout. Looks so simple, so intuitive on simple examples, yet totally failing to scale to even a dozen of basic controls. Yet the idea keeps reappearing from time to time.

Or an attempt at dependency management by making some form of symlink to another repository e.g. git modules, or CMake's FetchContent/ExternalProject? Yeah, good luck scaling that.

Maybe software engineering should have some sort of "Hall of Ideas That Definitely Don't Work", so that young people entering the field could save their time on implementing one more incarnation of an already known not good idea.

replies(8): >>43565964 #>>43566001 #>>43566128 #>>43566274 #>>43566331 #>>43567105 #>>43567561 #>>43568375 #
1. cubefox ◴[] No.43568375[source]
> Or weak typing. How many languages thought that simplifying strings and integers and other types into "scalar", and making any operation between any operands meaningful, would simplify the language? Yet every single one ended up becoming a total mess instead.

Yet JavaScript and Python are the most widely used programming languages [1]. Which suggests your analysis is mistaken here.

[1] https://www.statista.com/statistics/793628/worldwide-develop...

replies(2): >>43569889 #>>43572693 #
2. throw1111221 ◴[] No.43569889[source]
Python went through a massive effort to add support for type annotations due to user demand.

Similarly, there's great demand for a typed layer on top of Javascript:

- Macromedia: (2000) ActionScript

- Google: (2006) GWT [Compiling Java to JS], and (2011) Dart

- Microsoft: (2012) Typescript

replies(1): >>43572741 #
3. teddyh ◴[] No.43572693[source]
JavaScript is indeed weakly typed, and is widely lampooned and criticized for it¹². But Python has strong typing, and has always had it.

(Both JavaScript and Python have dynamic typing; Python’s type declarations are a form of optional static type checking.)

Do not confuse these concepts.

1. <https://www.destroyallsoftware.com/talks/wat>

2. <https://eqeq.js.org/>

replies(2): >>43579695 #>>43579757 #
4. teddyh ◴[] No.43572741[source]
You’re talking about static typing, the opposite of which is dynamic typing. User hamstergene is talking about weak vs. strong typing, which is another thing entirely. Python has always been strongly typed, while JavaScript is weakly typed. Many early languages with dynamic types also experimented with weak typing, but this is now, as hamstergene points out, considered a bad idea, and virtually all modern languages, including Python, are strongly typed.
5. ◴[] No.43579695[source]
6. cubefox ◴[] No.43579757[source]
Ah, weak typing, a.k.a. implicit type conversions.