Follow

Here's some space for your most controversial programming/tech opinion:

@aetios @fribbledom This is not a controversial opinion, otherwise almost all the Linux distributions wouldn't use it :)

@chj0 @fribbledom One day I was thinking of a purely logical programming language, so thag it can have different text representations and graphical one simultaneously

@meeper @fribbledom @chj0 have you seen ue4 "blueprints"? Closest I've ever seen to this idea, and a case where its really useful for engine dev/level designers/riggers all integrating and reusing things.

@fribbledom it doesn't matter if one is using tabs or spaces to indent code.

@tuxflo @fribbledom but please, for sanity's sake, pick one and be consistent inside a project

@calcifer @tuxflo @fribbledom Where "pick one" also includes, "use tabs to indent each nesting level, but use spaces afterwards to align things thereafter."

@vertigo @tuxflo @fribbledom yep, use whatever you want for indentation

If you're going to bother doing non-indent alignment, use spaces for whatever extends beyond indent level, regardless of indentation scheme

@tuxflo @fribbledom the one most convincing argument on either side is tabs let the reader control their size which is a big accessibility thing

@eris @tuxflo @fribbledom the flip side of this is that your tab size is not configured the same as the author's, the code will look weirdly unaligned.

@eris @tuxflo @fribbledom the point being that this control is not as much in the reader's hand as it seems. That doesn't mean it's not there.

@jens @tuxflo @fribbledom yea thats fair. still, better sonething than nothing

@bortzmeyer @fribbledom I think dependence is the better word. Firewalls can be a good just-in-case thingie. A little a firewall can go a long way in the right context, but it should never be depended on.

@fribbledom JavaScript is a fine language 🤷 lots of improvements since ES6 landed that make it usable

@thatbrickster @fribbledom Well not everyone needs to be a writer or a mecanic but everyone concerned is considered/required (depending on your jurisdiction) to known basic things.

Also:
- A lot of programmers are horrible at their jobs to a point were doing trail&error is almost seen as normal rather than as bogus and architectural errors are often flat out ignored
- A lot of people are outright computer-illiterate, making scams way too easy
@thatbrickster @fribbledom Yeah I also think having less devs might be a good idea or at least less people pretending to be, a lot of code is produced today and tbh I don't really know what it's for other than LoC-productivity.
That said I think everyone must be able to give it a shot and have ~real challenges.

@fribbledom having a specific plaintext syntax or even a Pharo/Morphic style interface is a 1970s mindset at best on how to manipulate program constructs. the core language of a programming environment should be an abstract syntax tree directly tied to operational semantics, and any user should be free to compose their own quasi-syntactic view from there on up, whether that looks like something conventional or something else entirely

@chj0 @fribbledom i mean people still mostly manipulate the s-expressions directly. the running application and all of its state should all be unified in the same operational structure that was manipulated to create it in the first place. if you can't take the running program and save it as valid terms to non-volatile storage in a completely isomorphic fashion and modify that running state as the application itself at runtime, then you're just missing opportunities for creative expression

@fribbledom to be clear this is something i am working on
that core language (or at least my vision of how it should work) is here: github.com/noocene/welkin-core
with a hardware-accelerated levy-optimal evaluator (like, you can run arbitrary programs on the GPU with fancy parallel fusion without extra work), dependent types, no complicated primitive patterns or ADTs, guaranteed totality (it's consistent too) and more
also a few serious bugs that i'm too burnt out from undergrad to fix rn :)

@fribbledom Hungarian notation has useful properties, and when used properly can be a valuable tool for clarity of thought and communication

@SpindleyQ @fribbledom huge agreement here. (At least for languages that aren't strongly typed)

@darius @fribbledom I'm curious what projects you've worked on that used it successfully!

I used it extensively at Intentional Software, where we were largely writing C#, and in many ways it was much richer than any strongly-typed language I've seen - "an index into the list 'foo' that is one past the end" is not the sort of thing you would bother representing in a type system, but with Hungarian you'd consistently use "ifooLim" throughout your codebase

@SpindleyQ @fribbledom I used it as an undergrad extensively when writing large code bases in MATLAB m-script. It also is used in the Spelunky (original GameMaker) source code and it was just... so nice and readable and understandable.

I like the idea of using it to basically extend types like you mention!

@darius @fribbledom oh neat, I had no idea about Spelunky, would not have expected it to show up there!

@SpindleyQ You can see it in Derek's Game Maker for Beginners tutorial, it uses the exact same style as Spelunky. oFoo for an object named Foo, sFoo for a sprite named Foo. There are a few others. It's simple but it works and imo it's absolutely necessary for gmscript

forums.tigsource.com/index.php

@darius oh yeah, I can absolutely see why having some kind of simple short disambiguation convention is just obviously needed

sPipe n'est pas une oPipe

@fribbledom Lisp is garbage and i don't understand why people want to use it.

@fribbledom any programming language that helps you get programming done is a good language

Conversely, all languages have sucky parts and deserve criticism. Doesn't mean people who use them suck, just that language dev is hard

@calcifer
“There are only two kinds of languages: the ones people complain about and the ones nobody uses.”
― Bjarne Stroustrup, The C++ Programming Language
@fribbledom

@fribbledom It should be deliberately difficult to make some things easy to avoid over-abstraction.

@fribbledom software is a means to an end, and not an end in itself.

@fribbledom I have three, dunno which is the most controversial, but let's go with this one:

Writing a program for an imaginary model user is stupid and produces inferior UX. If you don't have a real user at hand, write a program that you yourself would like to use.

@fribbledom App/Software subscriptions are stupid, but here to stay.

@philipp aaaargh… must! resist!

Must never take the bait!

THIS IS HARD!

@philipp @fribbledom XML >> JSON

it's bonkers to compare the two but webdevs love doing that)
Sign in to participate in the conversation
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!