• 0 Posts
  • 101 Comments
Joined 2 years ago
cake
Cake day: June 22nd, 2023

help-circle
  • For an IDE.

    I can configure VSCode as a full IDE for say C#/.Net development, and it performs pretty much just as well as VS which is written natively.

    Ditto for configuring it as a Python IDE vs PyCharm, ditto for Java and Eclipse, ditto for basically everything else.

    And I’m sorry but I have to respectfully disagree here: VIM / Neovim / any purely text based editor has never had anywhere near the same feature set as VS Code + it’s extensions. They are more performant, run anywhere, and can be configured to be quite powerful, but they’re still fundamentally hamstrung by using a typewriter’s line by line interface rather than being able to easily draw arbitrary 2d or 3d graphics and use the power of CSS styling.

    Like, just drawing out a list of items, and then being able to get more detail on one of those items, is fundamentally a pain in command line, requiring a list command and then an item detail command or a list verbose command, where is in a GUI you just list items and can then expand them or hover on them for more info.


  • As a casual js user (I build some static sites for fun and personal use), I am under the impression that JavaScript “sucks” mostly because some things really make it look like JavaScript was invented as a quick scripting tool rather than the backbone of the WWW.

    I’ll bring an example that maybe helps me learning someting. Why in javasctipt “1” == 1? I know the === operator exists, but why isn’t the default behaviour the safer one? Especially when the mantra is “don’t trust the user”.

    Like, I get, I am a strongly-typed guy, but I see why weakly-type languges exists, but this feel frankly moronic, and all the answers I’ve seen are " because that’s how it is". That’s just copium.

    Like, you’re not entirely wrong here. The == vs === is entirely just a legacy of a poor early decision in the language’s development.

    However, the reason that it’s still there isn’t just “because that’s how it is”, it’s to maintain backwards compatibility. You could break the language and change your equality operators to something more sensible, but to do so would result in:

    • A) If you make a new language that compiles to Javascript (like Typescript for instance), you can maintain compatibility, but you do now need to build a bunch of tooling around compilers and debugging so that you can trace errors in the compiled and running javascript back to your own code. In any situation where you have a codebase that contains a mix of the two, you’ve got to remember and stay on top of which to use where.
    • Or B) If you make a new dedicated language that runs in browsers, now browsers need to ship two engines, one for legacy javascript web sites and apps, and one for whatever your new language is. Same issues with mixing legacy and new code.

    OR the real answer is C) devs just add linters that check your code for common mistakes. All modern javascript dev environments will include a linter that yells at you if you accidentally use the == sign, right in your IDE as you type it, making it not really a big deal, and autocomplete will automatically use ===.

    And maintaining backwards compatibility for the Internet / World Wide Web, is probably the single most important place to maintain backwards compatibility, as it is effectively a continuous archive of information and publications. Putting up with === is honestly not that big of a deal in the context of all the above.

    Like, I get, I am a strongly-typed guy, but I see why weakly-type languges exists,

    I got my start with Java and C#, then Python, then Javascript, then Typescript / etc. etc. Trust me, I vastly prefer a good type system, which is why I use Typescript for everything I can these days. It is still technically weakly typed in that you don’t get type errors at runtime, just at compile time, but it still makes coding in javascript soooo much nicer and more pleasant and more predictable, and it’s quite frankly the most flexible and easy to use Type system / syntax of any language that I’ve used.

    Also when I tried to compile a single Cordova app to play around I needed some 5GB of npm modules that totalled ~200k files! Is that how modern app development is like?

    I mean, Cordova is not just a web app platform. That’s including the toolchain to build a web app, but also do compile it into an Android app, or to compile it into an iOS app. You’ve basically got large chunks of the android and ios sdks in there.

    Also, the particular webpage OP linked might be a little extreme, but modern software does suck ass, and is not user-friendly nor efficient.

    Just look at mobile communication apps, like Teams. The user experience is terrible, the UI is unrespive, the battery drain is crazy and it takes 800MB of space.

    Yes, because of corporate practices that prioritize feature development instead of addressing tech debt or performance. But that’s not always the case. I worked at Meta for a stint as a contract developer, I’ve seen how they make decisions and they’re not uninformed. They will run A/B testing on simulated apps to measure exactly how much of a difference performance makes, and then balance that against the effort it will take vs the effort it will take to develop new features and then they prioritize accordingly.

    No where else I’ve worked does that. Everywhere else just hears a customer or executive yell for a new feature and then the PM just starts working on it without proper research or without giving team’s time to go back and address tech debt.

    Is this because it’s an electron app, or because it’s made by incompetent programmers? I don’t know, but we made incredible hardware improvements in personal computing, new software should be even more efficient and use them better, not get more and more bloaty to have the same experience on older and newer hardware

    Given that VSCode is made by the same company, is also an electron app, and is generally remarkably performant, I would posit that teams is made by worse programmers since it’s a less attractive product to work on, and the team is probably less user focused since users don’t buy their software, the users’ workplaces do.


  • Do you know how you make good web apps with good performance? You don’t listen to people whining and bitching about a language, you go out and start coding something and find out where the actual issues are.

    Javascript / Typescript is great. There are little annoyances here and there, like with literally every single language, but anyone who says it sucks overall is a quite frankly, a moron.

    Our project focuses on advanced and experienced computer users. In contrast with the usual proprietary software world or many mainstream open source projects that focus more on average and non-technical end users, we think that experienced users are mostly ignored. This is particularly true for user interfaces, such as graphical environments on desktop computers, on mobile devices, and in so-called Web applications. We believe that the market of experienced users is growing continuously, with each user looking for more appropriate solutions for his/her work style.

    Designing simple and elegant software is far more difficult than letting ad-hoc or over-ambitious features obscure the code over time. However one has to pay this price to achieve reliability and maintainability. Furthermore, minimalism results in reasonable and attainable goals. We strive to maintain minimalism and clarity to drive development to completion.

    You now what all of this says? It says that they focus on building utilities that accomplish some small technical task and ignore their users’ actual workflow needs. It’s the equivalent of minimalist architects that make unlivable spaces because they’re technically nice.



  • masterspace@lemmy.catoAsk Lemmy@lemmy.world*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 days ago

    Fair enough, this is what my parents did in high school, I just kind of feel like you shouldn’t have to appease people like that so I’m torn.

    For me in high school, in one situation we had already been sleeping over at her house with her mom’s full knowledge, so by the time we asked my parents to sleep at my house, they talked to her mom and it was pretty brief and easy.

    In the other, her parents wouldn’t let us be in a room alone together, so when we asked my parents about sleeping over and they said they would have to call, we stopped them, said forget about it, and just had a lot more day-time, risky, might-get-walked-in-on sex.

    In neither situation did the call seem particularly productive towards anyone’s goals, but on the other hand, my parents never had drama with other parents so maybe I just need to think on that more.


  • masterspace@lemmy.catoAsk Lemmy@lemmy.world*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    2 days ago

    This feels somewhat toxicly parental rights to me.

    When I was in high school I had a friend who ran away from an abusive home and ended up living with another friend.

    The parent is not always right, so I have a hard time accepting that you should always side with the parent if they’re under 18.




  • masterspace@lemmy.catolinuxmemes@lemmy.worldVim > VSCode
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 days ago

    Have you tried using VSCode / VSCodium? I’ve tried using a VIM based workflow and found myself missing many graphical dev features in VSCode.

    And sure, there’s nothing wild about continuing to use a process that works for you, but it is a little wild to insist that your process is the best and other people should learn it, if you also know that it has inherent limitations that alternatives don’t.






  • Mostly agree, but don’t know if agree about talking to her parents.

    They’re 17, they’re old enough to make their own choices around whether or not they want to fuck, and whether or not you let them fuck in the comfort of a home isn’t going to stop them.

    Talking to her parents seems honorable, until you find out her parents are nut jobs who flip out when they find out she’s even talked to a boy alone.

    Though I don’t know if it’s different if you’re in the US with crazy sex laws.


  • masterspace@lemmy.catolinuxmemes@lemmy.worldVim > VSCode
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 days ago

    But it’s literally doing that in your image. When a horizontal and vertical line cross the horizontal line breaks.

    Yes, as an intentional graphical choice to illustrate the crossing of two paths.

    In lazyvim a vertical line, with no crossings, is still broken, as it is two pipes separated by the line space height.

    Oh, did you mean the points that represent actual commits? You’re arguing it’s trash because there’s no line between two adjacent commits? Really?

    No, I’m saying it’s trash because it CANNOT do something basic like drawing a continuous vertical line, because it is hamstrung by using the interface of a typewriter. A git branch is just one readily available example of a situation where something extremely basic like drawing a continuous line would make sense.

    You’ve brought it up multiple times now so I think it’s time you also source that claim. Cmon, source the claim where the code editor with better visual fidelity increases productivity.

    I can’t cite internal market research that is under NDA. I can point you to basic courses on design and UX, point you to information on concepts like cognitive overload, and point out to you the multiple trillion dollar software companies that got to where they are entirely through paying attention to little UX details that backend nerds previously claimed didn’t matter and were user skill issues.

    Yes, terminal can’t do everything, but I don’t think anyone is using VS code to look at a cube either. Actually, I’m not even sure if there is a VS code extension that draws cubes? So you wouldn’t use VS code for that either.

    Bruh, why would you even try and talk out of your ass like this? I am literally using jsCad and VsCode to do my personal 3d printing modelling, and I literally got my start programming using first VS, then VSCode, to build 3d modelling software for Autodesk. Not sure if you’re aware of this but modern websites have this little thing called WebGL that lets them display these little things called jraphics.

    Again, VsCode can do everything VIM can do, but not vice versa.


  • masterspace@lemmy.catolinuxmemes@lemmy.worldVim > VSCode
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    and if I do not want the GUI part, how come it surprises you that I do not use that superset?

    Go ahead and represent an arbitrary 3d shape using the command line, suddenly you may realize that a typewriter’s interface isn’t the fastest for accomplishing every programming task.

    Regardless, you can be happy with a limited subset of functionality and trying to cram every interaction into text, that’s not an argument that that way is better or that a new dev should go that route, just that you can get by using that method.



  • masterspace@lemmy.catolinuxmemes@lemmy.worldVim > VSCode
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 days ago

    I said continuous vertical lines and literally posted a screenshot of it not being able to do it.

    It’s functionally the same visual representation of data so you’re literally arguing over it not looking like you want it to look.

    No, it’s not. The human brain does not process dashed lines as easily as it does continuous lines. A whole bunch of dashed lines are objectively harder to follow than continuous ones.

    You can think that’s not important, but the literal decades of UX research and attention to fine grained user interaction, can prove that you’re just flat out wrong.

    You look at the above and think they’re the same, but they’re fundamentally not. Literally just go ahead and try and visualize a basuc cube with this base point and dimensions through a CLI and watch that wow, maybe a fucking typewriter interface isn’t the best for absolutely everything:

    Cube([0.37, -300, 45], [37,-98,-100])


  • masterspace@lemmy.catolinuxmemes@lemmy.worldVim > VSCode
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    2 days ago

    No, the conclusion I’ve been saying is that CLI developers are smart people who have spent a long time memorizing commands to get fast at things that can be done quickly and intuitively through basic 2d graphical interfaces.

    They’re now either in a situation where the gains from learning the new process aren’t going to outweigh the costs (though still doesn’t mean anyone else should follow their path), or they would, but they’re just stuck in their ways because of sunk cost fallacy.