• 1 Post
  • 18 Comments
Joined 2 years ago
cake
Cake day: April 19th, 2023

help-circle




  • I think that’s a hard question. Node definitely helped evolve it. The idea of isomorphism was slow-growing (and yes, originally pretty rocky), but foundational to what we now see as web development. But if I really had to describe the start of the “JS obsession” by my experience, it would be the AJAX explosion, which led to the advent of the “web-based app”. That very first moment of realization that yes, you can do anything on the web. It might be hard for a developer who started after that time, but functionality used to be relegated to windowed and console apps. In that world, you could imagine how useless javascript must have seemed - why do I need to write code to give “functionality” to what was basically seen as a remote pdf?

    But then, I think there’s no surprise to the fact every big company under the sun has some critical contribution to server-side javascript. Back then, most of the dev world were using Perl, Python, Ruby, PHP for their web backends (Java, VB, and C# were used, but too damn hard to write in). At best, those languages were non-ideal but reasonably comparable to javascript. At worst, some of those languages (Perl, lookin at you) were worse than javascript at all the reasons people make fun of javascript now.

    It took a while to kick Rails off the “next big thing” podium, but it was pretty quick that Node was showing offerings that were just better than Perl-catalyst or early Python-Django. It’s funny, Rails was the one with fancy ways to ship javascript from server routes (what a shit show that tech was) back when Node was establishing new best practices on non-isomorphic web apps. I remember when Hapi first came out, backed by Walmart. I then went from being a node hobbiest to believing it was the future. 1 year later I was running a scrappy little node team and we had this little $10M+ telephony app (of all things).



  • abraxas@lemmy.mltoProgrammer Humor@lemmy.mlProgramming Languages
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    I happened to be a fullstack developer when the transition happened, so I saw it firsthand. I would say it predated V8 by a year or two. By the time V8 came out, I was already writing plenty of (simple) javascript for applications.

    I would say it was more about plugged security holes and Ajax becoming more viable for real-world use. The “don’t ever use javascript” rule came from people disabling javascript because javascript was being used for malware. V8 was a part of that transition and growth, but at least in my memory not the shot that started it all.

    There were developers (and books) pushing Rails+Ajax pretty hard in 2007, a full year before V8’s first release in September of 2008.



  • So let’s say I want to add a library not currently being used in this project, but that might have been approved for another project in another repo? How does pip freeze solve that problem? Do python users endorse a “every single python app in the entire org should use the same requirements.txt” mindset? Or what am I missing?


  • How so? The companies I worked for were using venv’s but nothing that could help with standards.

    Using a private npm repo, I can actually do aninstall of a library I want to use and it’ll refuse to install if that library isn’t already approved for use by the organization, and if it is/does, it will install only the approved version. Further, I still don’t have any of the libraries installed I don’t want (even secure-seeming unnecessary code is a potential risk and unnecessary). The last 2 places I worked that used python used venv’s, but the pip requirements.txt file was still fairly hard to keep regulated.


  • abraxas@lemmy.mltoProgrammer Humor@lemmy.mlProgramming Languages
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    1 year ago

    You’re right about python being the same. Python doesn’t have a mature alternative to Typescript that launches it into having best-in-class type handling.

    There’s so much that my C# devs can’t do with its horrible type system that Typescript “just does better”. At compile-time at least.

    I used to work on a hybrid typescript/python product (some services js, some TS, some python), and the TS stuff was just faster-running, easier to iterate, and better. And story-point allocations consistently showed that for an excess of 20 devs working on those codebases.

    As for pip/easy_install vs npm/yarn/pnpm… I’m curious what you think pip does well that yarn/npm doesn’t? I’ll say in my work experience there’s more/better enterprise private repository/cache support for node modules than for python modules. Using npm security databases alongside “known good versioning” allows a team of even 100 developers to safely add libraries to projects with no fear of falling out of corporate compliance regulations. I’ve never seen that implemented with pip


  • even though I am guessing that with a better webassembly support of the browsers

    Considering V8 overcame python in benchmarks nearly a decade ago, I’m not sure even some miraculous webassembly environment would put python faster than javascript in the browser of all places.

    V8 does not quite compete with the big guns in the space (C, Rust, Go), but now that it’s only 2-4x slower than C++, it’s created this niche of “almost hardcore fast” for javascript that is just unlikely to be dethroned any time soon.

    People fail to quite get how many leaps and bounds V8 has taken in the last 10-12 years. Javascript’s reputation of being “scripting language slow” is simply no longer the case and hasn’t been for an entire Era in software terms. Reasonably-written Javascript is now often faster than heavily-tuned Python, and well-written javascript is faster than reasonably-written C++. It’s not necessarily fair (like comparing modern solar to nuclear, with the absurd amount of money that’s gone into solar research), but I don’t see it changing any time soon.


  • So bizarre how life experience drives attitude. I’m one of those who has worked in a dozen languages, and Javascript (well, Typescript now) simply wins out for me. I run a C# team right now (have been for nearly a decade), and I can say as much as I love my job I hate the language. We get less done with slower code and with more bugs and more (very talented) people than the little $10M operation 4 of us did with node.js a couple jobs ago.

    And as an aftethought since language and tooling are different topics… the ops toolchains for javascript are so much better than anything I’ve worked in any other language. Code released to production often ends up costing us less (dollar value) in the time to deploy, and then less per-user and per-hour.

    I know a lot of C# diehards and I respect their passion. I just cannot relate to their experience. And I can say that with over a decade of experience in many of the languages in the original meme.




  • As a boss, if it’s not important enough for me to take the time to make a ticket, I’m not gonna get that mad at the pushback. But then, I’m in a small company so if it is important my response might be “I have another 7 hours of meetings ahead of me, could you pivot to getting replication and add a ticket, and then assign it to yourself?”



  • Gaming depends on your game choice. It gets better every year, but gaming is always the category that Windows slightly wins on. Everything else is dramatically easier in linux.

    Ubuntu (or variants) is always a solid option. Apt is just the best (imo) packaging system, and since Ubuntu is #1 in popularity, you’re more likely to get support for issues there than any other linux variant.