The selling point of Bun is that it cares about performance and you don't need 200mb of dependencies just to use typescript If Node kills off Bun by adding native typescript support and making their libraries fast then Bun will have served its purpose and everyone will be happy
@@dealloc how is that? At least you need tsc and babel and some bundler as well. All of which have their own dependencies as well. That's how you get 200 meg project on your pc.
@@tnsaturday tsc is bundled with `typescript` module. Why do you need a bundler? Just run tsc over it and it works for majority of cases. Bundlers makes sense when you want to do other things like producing bundles, chunks, minification, tree-shaking etc. Those have nothing to do with TypeScript. If you really need a bundler to do all those things, use esbuild. It's less than 10mb, fast, and production-ready. TypeScript package is then only necessary if you want to do type-checking, esbuild already removes types during bundling.
It depends on what you code about. For me personally I'm a designer and a developer, wsl2 just works for me. I don't need ultra high performance. I also have to use illustrator, figma etc... which are not natively available in linux. I don't want to get into mac ecosystem. Its just expensive for no reason "for me". I have tried using linux and windows sperately before duel booting it. But even that I just don't find the value because I want to constently switch between to use apps that I don't have in linux. So yeah coding + gaming, coding + designing, coding + support for eveything is the best. Most things just run smooth.
@@ooogabooga5111 and wsl can be fast enough if you aren't engaging in some pathological multi-staged serialization between the WSL guest file system and the host file system. That is where a lot of the nonspecific slowness in WSL comes from, the file system is split into native WSL areas, and foreign host areas, and its easy to find yourself engaging in a task that has to do something like reading from the host, and then immediately writing to the host. Which has a round-trip (overhead-doubling) effect. reading from the host and writing to the guest, or reading from the guest and writing to the host is usually tolerable.
UUUUGGGGHHHHHHHH. Magento 2 containerized local dev stack, but company IT only issues Windows 10 machines. Oh, the joys of rebooting multiple times a day because your laptop went to sleep and the WSL2 thingy just couldn't deal with it.
Ugh my main problem with this article is that it pretends that innovation in npm etc would have happened without competition. A lot of times, it's easier to start with something new that has different priorities. Yarn's demise was a result of it defaulting everyone to use PnP in v2, which is really difficult to get working to this day. No one wants to spend their time reading tooling docs just to get started (and when there are easier alternatives).
Spot on. If only yarn did something simpler like what pnpm does by default instead of pnp. Pnp is cool and all but requires additional tooling installed on your IDE to make it work which we all know we won't do.
Yarn's demise was getting overshadowed in features by NPM once Node refocused its efforts on copying those features from Yarn. PnP is the desperate final death throes to attempt to create further improvements to justify its own existence.
You are straw-manning the argument. I understood from this document that we shouldn't hop on bun, make all our repos bun-dependent, etc, because in a few years nodejs will just take all those features and performance improvements and we'll be stuck using bun.
Competition forces npm to innovate, if it wasn't for yarn, npm probably would have never improved. I imagine bun will have the same effect. But this isn't a great argument for saying "just stick with npm", because at any given point in time, it's losing out by some metric to an alternative.
@@natekidwell Are people really using a brand new runtime in production just to avoid doing a few configuration steps when bootstrapping a project? The JS community is really obsessed with shinny new things!
ปีที่แล้ว +53
In the company I work for, the use of Windows is mandatory, as it makes it easier for them to control and monitor everything the employee does. This is actually quite common in highly corporate companies where the owners constantly suspect employees of potential data theft or similar actions. So sometimes, we simply don't have the option to NOT choose Windows; it's mandatory, end of story. And this is when the problems arise with technologies that don't support Windows, causing them to simply become obsolete more quickly.
But can you wsl? I completely understand if you can't. Companies and individuals that act like that tend to be nearly as trusting of new tools as a mother is of wild animals, sharp objects, or potentially dangerous chemicals in the same zip code as her baby. But if the answer is "I haven't tried", I suggest simply don't ask. Better to ask forgiveness than permission unless the punishment is life or limb, I say.
No WSL? To be blunt, in the common use case of developing Linux server software, doing it on Windows is completely insane so you need a compatibility layer or a remote server. If you're developing Windows software, fair enough, but I have not personally encountered this.
@@mage3690 Every company I've worked at that mandated an OS provided machines with it installed and didn't allow you to bring in your own hardware (whether laptop, keyboard, mice, or anything else), and only one of them had a process to have personal hardware (specifically mice and keyboards) checked so they could be used with the company's hardware if and only if there was a good reason (like ergo keyboards and RSI).
@@Ignisami personal hardware? What? No, wsl is what you type into the Windows terminal to launch a POSIX-compliant virtual machine _right in the terminal._ Simply "wsl --install", reboot, and it's right there. Your very own Ubuntu VM, running in Windows, with full access to the Windows file system (via /mnt/c/Users/username) and any Linux CLI application you could ever want. You'll have to do the usual nonsense of "sudo apt upgrade" to actually install anything to wsl, but after that, the world is your oyster.
Some of us sadly don't have a choice. If the employer dictates "Windows Server 2017 and nothing else", you can't do much. And yes, switching jobs is always an option. But if the pay is high enough, you just accept the fact and start coding (begrudgingly).
You often still have a choice, I do often have the "Windows Server 2017 and nothing else" and I still develop 99% of the time running Linux as my main OS. With the right tools cross-compiling or cross-running software isn't that big deal.
I think you're right in the general sense on any technology: In 20 years we'll sit here with our VR glasses and see you in 3D how you argue "we haven't learned anything from Rust's mistakes"
Maybe. But I find that an odd comparison to make here. The opening argument of this vid is that Bun (and Yarn before it) is not offering anything more or better than Node (even performance open to debate). Where as Rust is not just a recreation of something else. Rust is a substantially different thing. Rust offers something that no other compiled to native language has offered since ALGOL and Ada. That is the emphasis on correctness and predictable behaviour. What with it's strict type system and anti-aliasing rules. Heck even Ada did not do as well and has learned lessons from Rust, making Ada a better language. So now, what "mistakes" do you think Rust has made?
@Heater-v1.0.0 my whole argument is that we're in the future, when a new language will appear, doing the same thing as rust, just differently but without substance. It's in the future that we'll realize what mistakes Rust has made. We don't know them until the tech has proven itself. Take another example: the NULL pointer. Having it has turned out to be a huge mistake only 30 years later. At the time of its introduction, it came together with C which massively improved the situation. Yet still, decades later, Java still chose to use it.
@@FlaviusAspraOK. See what you mean. But that is like any ideas we have about anything. Often they spin improvements in the future, or turn out not to be so great ideas.... I think Tony Hoare had reservations about the null pointer when he was building his Algol compiler. He gave in to user demand.
@Heater-v1.0.0 yes, some ideas are good, others are bad. The point is: we as an industry seem to repeat bad mistakes, driven by hype and just a different packaging. Like: why did Java introduce the null pointer exception still? WHYYY?!
@@FlaviusAspra I see your point. I have no idea about Java's null pointer. But then I never understood why Java needed to exist in the first place. WHYYY?!!
Oven wants to provide integrated support for running JS services, so Bun is mostly designed to do that. They specifically want to support most stuff immediately with lower complexity, and they don't really care about the heavily complicated stuff because they won't be their customers, they already have their own infrastructure to run everything. Coverage of most and not all is fine for their targets, and honestly I'm also happy if the people that want to use Bun but can't do a good review of their code base and remove complexity that limits them to use Bun. Win-win.
sure, 90% of programmers might not be on Windows, but I'm pretty sure most of the developers start off on Windows and then realize that there are better options out there. So Windows support is important because if you don't have it you're missing out on a lot of new developers. And new developers are the ones that are most likely to try out the new shiny thing (library, framework, engine, etc....)
@@daedalus5070 nothing bad with mac. It’s a proper Unix. Anyone who knows Linux will feel like home when using macOS. The knowledge you gain on any of these is easily transferable to any other Unix like platform (so about 99% of servers). Development on Mac is great. All the cli tools are there, everything installs smoothly, has a great package manager, every library from any programming language works as expected on any Unix system. It’s great. None of that can be said about any micro$oft product. It’s a pure nightmare.
@@daedalus5070 idk man, I switched to mac 3 years ago, I can never go back, everything is just better imo. Especially funny to sit beside my windows co worker and hear his engines start up when he opens VSCode while Im coasting with docker and kubernetes in the background and not a sound.
Are we forgetting ESM + CommonJS in the same files? Game changer for anyone who has ever had to re-write an entire library because it wasn't ESM compatible.
@@geoffreyolson9720 not really. Try passing a function written in ESM into a node service worker with all of the correct TSConfig values. Especially if it has code that relies on environment variables.
Been using module projects exclusively for over a year now with Vite, ts-node + SWC, and etc. Only need to patch like one projects package.json the entire time. Pretty much everything is building module exports into the libs now and anything else is just getting handled correctly by bundlers. This feature is way too late but would have just been another way to facture the ecosystem.
A small side note: I have a WSL setup with Docker installed without the Docker Desktop Application. However, I can't update anymore the Docker Version, because the installation script tells me to install it on Windows. It's not, it doesn't runs in the WSL, but they want to force you to use a License for the Docker Desktop App
To be honest, the whole project setup thing and the very slow transpile step (assumes tsc) is gradually eating my sanity away, and actively pushing me to try out golang more and more. If neither Bun nor Node decide to catch up, we'll just going to see more devs like me quitting for golang altogether for backends at least.
Honestly, gaming on Linux is better than ever this year. Valve working anticheat makers to get them working, proton 8 fixing a lot of ubisoft multiplayer issues and generally just getting improved, and more and more games using the vulkan api make the gaming argument against Linux pretty paper thin. Especially with Linux consoles like the Steam Deck.
Another reason for Windows. At work we support NVDA (the screen reader) and I was working on automating screen reader tests using guidepup as a proof of concept. I had to use yarn instead of our usual npm because npm has a bug with linking together monorepos in Windows.
Not forced to use windows. I used Linux for years as a desktop. It sucked. Pain in the ass to get anything done. It’s an okay headless server but a massive pain in the ass for real work.
That comment about not being able to get sound working on Linux hits me in the feels. When I first learned to program and wanted to put Ubuntu on an older machine, I thought I was stupid because I couldn't get sound to work.
For those of us peasants with sluggish internet connections, npm used to be quite sluggish and would often freeze during installation. Comparatively, yarn was quicker than npm. Personally, I never utilized yarn workspaces; instead, I opted for NX. While npm has made some improvements over the years, it still encounters occasional problems. This year, I made the switch to pnpm (despite its rather unappealing name). I don't foresee myself transitioning to Bun any time soon, possibly not for another three years. Currently, I'm grappling with pnpm issues that were never present when I used yarn.
the for windows development is so big, is it that bad that i managed to make my entire workstation on windows and still be able to play games? (don't start with wine) and yes I know how to work on Linux
Maybe at some point there will be a package manager/framework that doesn't have a silly name. There's gotta be an "upgrade" over Bun called ButtoX, I'm 100% sure it's gonna happen
One thing that makes bun really attractive you dont have to wory about typescript and imorting libarys. It just works! Every thing lese i dont really care about.
41:40 my works website is like 10mb..and it's not complicated..new version was down to 10kb but then they decided to outsource it probably to keep using react 😂😢😢
Just had this debate yesterday with my buddy while we were working on a SharePoint/AppService integration and deploying code from top-level Windows that we transferred over from a virtualized Ubuntu environment so that we could use bash to work efficiently in development. So many tools specifically in the Microsoft ecosystem don't play nice with Linux that they almost have us hostage in our work environments already, but then they hold our games hostage too. I say the next generation of games AND professional software needs to be built Linux first. Don't leave the Windows users behind professionally, but I wanna see more Linux/Mac Only games to balance out the ecosystem. Not gonna make very much on them initially, but if they get enough exposure, you'll gradually see more adoption for the other platforms. Not even a huge Mac fan personally, but it at least tries to be Unix-compatible on most things.
I use Windows with Cygwin and sometimes WSL. I just find the GUI the easiest to use and not a hack like most Linux ones feel, and also I can't get along with MacOS, or their laptops build either. Apps "just work" in general on Windows, plus several pieces of hardware with Windows-only or better drivers vs Linux. My work laptop is a Dell Precision (basically a business XPS) and is a beautiful machine.
Yes, Vue is great. You should absolutely invite Evan You on stream one day. Watching him remain level-headed and mostly unbiased while being interviewed(interrogated?) by Theo is one of the most impressive things I've ever seen.
I remember worrying about runtime versions and using nvm or n now I just use nix to create dev environments and it works for every language I've used without polluting my PATH
this is why you wait for v2 before committing customer projects. bun if nothing else has opened a conversation about performance. competition is good. bun could also feed ideas into the main nodejs as well. ideas work both ways. bun also needs zig to get to version 1.
@27:00 Is this argument against JSX essentially an argument against all logic-filled templating engines? Because I do agree that adding logic into templates can make for some complicated abstractions and templates and is the main reason why I really like Mustache's logic-less templates. They offer the bare minimum in functionality (conditional, inverse conditional, sections with a ranging functionality, and partials). The rest of your needs come in the form of data pre-processing using whatever language or tooling you like.
JSX is a compile step for functions. Functions were simple too… argument: a string for the element, object of properties, list/arglist/string of children. Functions are simple, and compile steps are not. It looks similar to HTML but isn’t the same. It’s full of inconsistencies which make it complex & difficult to understand. Granted, JavaScript looking C-like means nesting these functions is ugly & unreadable but if you’ve used these functions in an ML or LISP dialect & you’ll quickly understand how much simpler function can be.
Flip flop between Linux Distros and running windows, I always return for one simple reason to windows, and this is gonna sound strange to linux people: It just works. And if it doesn't, it can fix itself. I've never had an System Crash or something like that were windows did not have a plan to get back to a running desktop, Windows recovery tools are amazing and they work even though you never thought about them. Too many times I've got told by linux people to "just restore to backup", although the distro does not include any automatic backup solution. I've borked more Ubuntu installations past point of repair than I can count, and I just recently killed my laptops distro based on Arch. Windows let's me work, it just runs out of the box like I want, I dont have to compile the whole bionical-universe repository just to install a new texteditor, there is not a single linux distro that does not constantly break if you update or change some part of the system. By the way updating and changing parts of the system is a part of the daily routine of using a computer. I've never thought I have to write that down but the arch community proved me otherwise.
I finally fully switched off Windows because of a consistent blue screen issue on windows that persisted after an install refresh. I've had stupid issues with Ubuntu, but Fedora has been pretty rock solid.
What the fuck are you doing to those poor ubuntu installs. On my laptop that shipped with windows I literally cannot even restart it from in windows because within a few months (of literally not even using windows more than a few hrs a month) its basic power functionality had broken. Meanwhile I have had linux freeze on me so few times I can count them on one hand, and they were all a result of using ntfs, wine, etc. *_And I use the fucking arch repos with wayland and nvidia_* Seriously, what unholy atrocities are you doing to those poor defenseless ubuntu installations
@@gljames24 That screams hardware problems. Sometimes you are able to make the system ignore it, but Windows really don't like bugged hardware (except for the Audio/GPU, Windows can tolerate those things crashing better than Linux). Once I had a slow down of a couple of microseconds when my CPU did an INT3 and there was a lot of DPCs flying over Windows, So I rebooted to Linux and run the same type of code, it completely locked-out for 15sec. Bug was a literal race condition, Windows timeout after 200ms, but linux timeout was 15sec, why ? why ? maybe its easier to find your hardware is fucked if you totally lock out (the irony is that its usually Windows that has stupidly long timeouts) Turned out I had a bug in the Haswell microcode, in theory I should have made Linux patch it on start, but I don't like it to patch microcode for me, so I just rewrote my NVRAM manually myself. This machine has 6 years and only had 3 blue screens, one caused by a badly seated RAM stick, one caused by a power failure in one of the USB controllers (typical, but it was caused by electromagnetic noise, and badly written driver), and the last one was caused by a bugged driver I was hacking.
@@gljames24consistent I/O Issues lead to a BSOD. There is propably something wrong with your hardware or firmware, usually it is a dead RAM chip or a bad motherboard. Switching to linux will not fix this kind of issue but rather transform it into another issue. Just FYI.
in most programming languages I have used the package system + runtime is a standard ...this is not the case in javascript the ecosystem is messed up not sure if this is a good thing or bad thing
When I started learning to program I used windows because that’s what I had and I didn’t know any better. It’s nice to have things available that allow you to learn without buying another computer, or installing a new os.
@@AstroStrongBoxyea I eventually moved to linux and I would recommend something unix like for programming, but not everyone has the option of just swapping operating systems or feels comfortable dual booting, especially not when they first start. Virtualization is fine, but it’s another layer on top of everything, and some older hardware can’t cut it performance wise.
I tried to use a mac for work programming -- but honestly they changed SO many of the "standard" keyboard short cuts that have been around for YEARS. (ctrl+v, etc) and using the command button which feels less ergonomic. But the worst thing for me is i primarily do networking and even the terminals have different keyboard shortcuts -- ex ctrl a doesn't bring me to the beginning of the line and on top of that sending "standard" escape sequences in the mac terminals need special macros to even get it to work. you need these standard shortcuts to break into routers and switches locally / over serial connections and trying to google which control character escape sequence conversion to send over a screen terminal to your usb serial cable is tedious and no one is going to memorize it.
4:15 I'm forced to use windows at work and I fully support this take. That will either force the company to use Linux or annoy me to the point of quitting lol
I had no issue running yarn on windows myself, I tried it out because yarn berry had pnp which I thought might have replaced pnpm for saving disk space. As for why windows, a lot of companies do dotnet developement, personally I used to use gentoo but windows is just easier to update without breaking. But for windows WSL2 has isues, you have to run the main operating system in HyperV this can impact things like games if it's a home machine. Msys2 would be better, but native windows support is something your going to need if you want to replace or make it more popular than node at some point, since it's not just about personal use but everyone everywhere. When it comes to saving disk space under node_modules, before bun you ether had pnpm or yarn berry with pnp, but pnp under yarn berry didn't always work that well without changes to the packages which I think is why pnpm has become more popular. If bun can do at least what pnpm is doing (as far as file linkages) and work under windows then that should be a good thing.
tbh yarn has always been faster at installing and is still true to this day. I also get less weird cache issues with yarn, so I got a little confused when the article said that yarn is slower than npm?
+1 Windows. I am generally against Apple's forced obsolescence between different OS versions and architectures (going back to the '90s...) and their overall hostility to the self-repair world. That + the reality distortion field felt too cultish, so I stuck with Windows.
This guy saying that Vite requires as much configuration as Webpack is a total joke. That was the biggest L take of the month. I haven't had a Vite config longer than 20 lines and it requires one plugin at most. Webpack was a beast, an ejected create-react-app config for Webpack was hundreds of lines with like 20 different plugins for minification, polyfilling, importing non-JS files in components. All of this took days to port form Webpack 4 to 5 or whatever the hell the version was.
3:40 - Yes, you should support windows. There is a countless number of people who could be learning it, are using windows and do not know or can not run a VM.
13:00 i dont understand it, you can develop games on linux, if it works on linux it will 100% also work on windows. and you can program c# on linux, idk why windows is required for that? rider or any other ide runs on linux games runs on linux too, most of the time, steam deck is linux i dont understand it?? i use fedora silverblue btw flatpak everything with no access to host, no trash on home dir (flatpak has its own open/save file dialog that auto gives permission to the app of specific files and folders) and use devcontainers for development
If you’re a software developer being forced to work on windows for development, it’s time to start looking for a new company. Plus since you don’t write userland applications in node, I don’t think that it really matters.
Also yarn runs fine on windows when I was still using yarn a couple years ago. Also i think many people use yarn. Most docs always have yarn. Saying its dead is just not true. Also I think the api of yarn is much easier than npm I think.
Bun also has a lot of problems, not sure if you've used it but evens something simple like an express server with a hardcoded endpoint doesn't work consistently well and the debugger is pretty awful, skipping lines everywhere and not working correctly.
Why is it a surprise a lot of people use windows for development? If you buy a laptop for personal use and use it as a development machine as well you automatically use windows for development. Not everyone will get a work computer. Also, a lot of companies might opt for buying windows computers for their employees because there's cheaper alternatives. Not everyone feels like dual booting linux on their machines so yeah, you'd be left with a lot of people "developing" on windows.
My wife is a travel nurse and we bought an rv so we could move every few months. I ditched my mac for an extra monitor because I didn't have much room. To make this work I moved my dev environment to windows. I'm not a big fan of programing on windows and miss my mac but it just made my life easier
Here for the Windows part, even though I write C#, I don't use any particular windows feature and could perfectly code on Linux, and I wish I'd be using Linux, but I also code for hobby and sometimes I wanna switch between code and games. Also, my work computer is also Windows and damn it's slow because of all the pre-installed bloat.
@22:20 ish, how easy is it to swap out any build process? Most applications are locked in to whatever was used to bootstrap the app. It's easier to start over and $mv src/* into a new project than to take an existing one and change the tooling. So much tech writing is just bad logic, ironically.
Windows for me is because we've been a microsoft shop forever, but switched to Node/AngularJS right before I started. We've relied on MSSQL pretty heavily, and linux/macs don't have as good of tools for it. Until recently, our servers were also all windows, and remoting on to them is more of a pain on other servers. Our DNS set up is also wonky on non-windows machines, amongst some other things. Our junior devs are mostly on mac's, but they don't tend to touch that stuff much at all.
I totally get the "README's that only specify yarn instructions" argument, but I think that's honestly because so many people skip the fundamentals. Yes, the JavaScript ecosystem is immensely complicated, but I think it's relatively simple to explain dependency management as a concept, and that's transferable to so many other places.
This is simply how the world works. It's how we innovate. npm has gaps and inefficiencies, yarn fills them, and there are 2 outcomes: yarn becomes the new defacto, or npm evolves. This guy is Monday-morning Quarterbacking the point that yarn was somehow a mistake because npm was able to evolve. But what if npm wasn't able to? Because that happens too. There is no reason to bash new tech and innovation, it's how we all get better as individuals, as a community, and as an industry as a whole. And yes, some tech will come and go as a result, and that's fine.
I was always a die hard Linux user for development. But I currently work at a company who is extremely entrenched in Microsoft products. Outlook, Teams, Office, etc. We'd have access to most of it on Microsoft 365, but that is a really subpar experience. Given the amount of time I end up needing to use that stuff when working with non-technical staff members, it ends up being easier for me to just use WSL than to insist on using Linux. But that's a judgement call. There is nothing stopping me from using Linux per se. The company even has a fully supported internal Ubuntu variant.
I try to switch to Linux every few years. They tend to destroy themselves through updates after a while and then I'm back on Windows, because I'm not gaining enough from using Linux to bother to figure out how to fix it again. The major exception is compiling C/++. Never figured out how to supply dependencies on Windows.
I use the arch repos with wayland on nvidia machines and have only ever had anything break because of a mid dkms compilation crash which was fixable in under 5 minutes with a nip of googling. ( and power loss mid update will break basically any OS so thats not really anything special) I seriously want to know what unholy atrocities people are doing to their linux installations to have these stories.
The selling point of Bun is that it cares about performance and you don't need 200mb of dependencies just to use typescript
If Node kills off Bun by adding native typescript support and making their libraries fast then Bun will have served its purpose and everyone will be happy
Venture capital investors who put their money in Oven won't be happy, I expect.
You also don't need 200mb of deps to use typescript elsewhere. TypeScript comes with no dependencies. What's your point?
@@dealloc how is that? At least you need tsc and babel and some bundler as well. All of which have their own dependencies as well. That's how you get 200 meg project on your pc.
@@tnsaturday tsc is bundled with `typescript` module. Why do you need a bundler? Just run tsc over it and it works for majority of cases.
Bundlers makes sense when you want to do other things like producing bundles, chunks, minification, tree-shaking etc. Those have nothing to do with TypeScript.
If you really need a bundler to do all those things, use esbuild. It's less than 10mb, fast, and production-ready.
TypeScript package is then only necessary if you want to do type-checking, esbuild already removes types during bundling.
First favorite feature is a bash script to install it.
Second favorite is native typescript (transpiling still)
shout out to my fellow "forced to use windows at work" devs
Windows devs are the best
My first job. I hate windows so much. Powershell is a joke lol
It depends on what you code about. For me personally I'm a designer and a developer, wsl2 just works for me. I don't need ultra high performance. I also have to use illustrator, figma etc... which are not natively available in linux. I don't want to get into mac ecosystem. Its just expensive for no reason "for me". I have tried using linux and windows sperately before duel booting it. But even that I just don't find the value because I want to constently switch between to use apps that I don't have in linux. So yeah coding + gaming, coding + designing, coding + support for eveything is the best. Most things just run smooth.
@@ooogabooga5111 and wsl can be fast enough if you aren't engaging in some pathological multi-staged serialization between the WSL guest file system and the host file system. That is where a lot of the nonspecific slowness in WSL comes from, the file system is split into native WSL areas, and foreign host areas, and its easy to find yourself engaging in a task that has to do something like reading from the host, and then immediately writing to the host. Which has a round-trip (overhead-doubling) effect. reading from the host and writing to the guest, or reading from the guest and writing to the host is usually tolerable.
UUUUGGGGHHHHHHHH. Magento 2 containerized local dev stack, but company IT only issues Windows 10 machines. Oh, the joys of rebooting multiple times a day because your laptop went to sleep and the WSL2 thingy just couldn't deal with it.
Trolling you mid article is absolutely the new meta
Ugh my main problem with this article is that it pretends that innovation in npm etc would have happened without competition. A lot of times, it's easier to start with something new that has different priorities.
Yarn's demise was a result of it defaulting everyone to use PnP in v2, which is really difficult to get working to this day. No one wants to spend their time reading tooling docs just to get started (and when there are easier alternatives).
Spot on. If only yarn did something simpler like what pnpm does by default instead of pnp. Pnp is cool and all but requires additional tooling installed on your IDE to make it work which we all know we won't do.
Yarn's demise was getting overshadowed in features by NPM once Node refocused its efforts on copying those features from Yarn.
PnP is the desperate final death throes to attempt to create further improvements to justify its own existence.
You are straw-manning the argument. I understood from this document that we shouldn't hop on bun, make all our repos bun-dependent, etc, because in a few years nodejs will just take all those features and performance improvements and we'll be stuck using bun.
This article pulled psychomantis and I'm all here for it
8:08
Bro is Deadpool
"Psychomantis?", Snake says
Competition forces npm to innovate, if it wasn't for yarn, npm probably would have never improved. I imagine bun will have the same effect. But this isn't a great argument for saying "just stick with npm", because at any given point in time, it's losing out by some metric to an alternative.
I use bun for the typescript support. I don't care that it installs packages half a second faster or slower tbh fam
Same. The zero config blazingy fast ts experience is a treat.
@@natekidwell Are people really using a brand new runtime in production just to avoid doing a few configuration steps when bootstrapping a project?
The JS community is really obsessed with shinny new things!
In the company I work for, the use of Windows is mandatory, as it makes it easier for them to control and monitor everything the employee does. This is actually quite common in highly corporate companies where the owners constantly suspect employees of potential data theft or similar actions.
So sometimes, we simply don't have the option to NOT choose Windows; it's mandatory, end of story.
And this is when the problems arise with technologies that don't support Windows, causing them to simply become obsolete more quickly.
Sounds like a shitty place to work at😅
But can you wsl? I completely understand if you can't. Companies and individuals that act like that tend to be nearly as trusting of new tools as a mother is of wild animals, sharp objects, or potentially dangerous chemicals in the same zip code as her baby. But if the answer is "I haven't tried", I suggest simply don't ask. Better to ask forgiveness than permission unless the punishment is life or limb, I say.
No WSL? To be blunt, in the common use case of developing Linux server software, doing it on Windows is completely insane so you need a compatibility layer or a remote server. If you're developing Windows software, fair enough, but I have not personally encountered this.
@@mage3690 Every company I've worked at that mandated an OS provided machines with it installed and didn't allow you to bring in your own hardware (whether laptop, keyboard, mice, or anything else), and only one of them had a process to have personal hardware (specifically mice and keyboards) checked so they could be used with the company's hardware if and only if there was a good reason (like ergo keyboards and RSI).
@@Ignisami personal hardware? What? No, wsl is what you type into the Windows terminal to launch a POSIX-compliant virtual machine _right in the terminal._ Simply "wsl --install", reboot, and it's right there. Your very own Ubuntu VM, running in Windows, with full access to the Windows file system (via /mnt/c/Users/username) and any Linux CLI application you could ever want. You'll have to do the usual nonsense of "sudo apt upgrade" to actually install anything to wsl, but after that, the world is your oyster.
Guess what? You don’t have to use JS on the server lol
Imagine not having actual runtime types on the server
@@neociber24 I guess no C++ or Rust on the server either then? Only Java and C# with their "Runtime types"? :)
Some of us sadly don't have a choice. If the employer dictates "Windows Server 2017 and nothing else", you can't do much. And yes, switching jobs is always an option. But if the pay is high enough, you just accept the fact and start coding (begrudgingly).
You often still have a choice, I do often have the "Windows Server 2017 and nothing else" and I still develop 99% of the time running Linux as my main OS. With the right tools cross-compiling or cross-running software isn't that big deal.
there is no Windows server 2017 though lol
Do you really have a win server os as a host you work from? Without a VM?
@@ivanjermakov probably means a vm of server not bare metal but who knows?
@@ivanjermakov its on a vm alright. But still, the OS is a given.
"node would not optimize performance unless something like Bun came along" these are facts right here 👏👏
I think you're right in the general sense on any technology:
In 20 years we'll sit here with our VR glasses and see you in 3D how you argue "we haven't learned anything from Rust's mistakes"
Maybe. But I find that an odd comparison to make here.
The opening argument of this vid is that Bun (and Yarn before it) is not offering anything more or better than Node (even performance open to debate).
Where as Rust is not just a recreation of something else. Rust is a substantially different thing. Rust offers something that no other compiled to native language has offered since ALGOL and Ada. That is the emphasis on correctness and predictable behaviour. What with it's strict type system and anti-aliasing rules. Heck even Ada did not do as well and has learned lessons from Rust, making Ada a better language.
So now, what "mistakes" do you think Rust has made?
@Heater-v1.0.0 my whole argument is that we're in the future, when a new language will appear, doing the same thing as rust, just differently but without substance.
It's in the future that we'll realize what mistakes Rust has made.
We don't know them until the tech has proven itself.
Take another example: the NULL pointer.
Having it has turned out to be a huge mistake only 30 years later. At the time of its introduction, it came together with C which massively improved the situation.
Yet still, decades later, Java still chose to use it.
@@FlaviusAspraOK. See what you mean.
But that is like any ideas we have about anything. Often they spin improvements in the future, or turn out not to be so great ideas....
I think Tony Hoare had reservations about the null pointer when he was building his Algol compiler. He gave in to user demand.
@Heater-v1.0.0 yes, some ideas are good, others are bad. The point is: we as an industry seem to repeat bad mistakes, driven by hype and just a different packaging.
Like: why did Java introduce the null pointer exception still? WHYYY?!
@@FlaviusAspra I see your point. I have no idea about Java's null pointer. But then I never understood why Java needed to exist in the first place. WHYYY?!!
Oven wants to provide integrated support for running JS services, so Bun is mostly designed to do that. They specifically want to support most stuff immediately with lower complexity, and they don't really care about the heavily complicated stuff because they won't be their customers, they already have their own infrastructure to run everything. Coverage of most and not all is fine for their targets, and honestly I'm also happy if the people that want to use Bun but can't do a good review of their code base and remove complexity that limits them to use Bun. Win-win.
sure, 90% of programmers might not be on Windows, but I'm pretty sure most of the developers start off on Windows and then realize that there are better options out there. So Windows support is important because if you don't have it you're missing out on a lot of new developers. And new developers are the ones that are most likely to try out the new shiny thing (library, framework, engine, etc....)
this is the best argument I have seen in favor of bun on windows.
I had to use a Mac at work once and quit 3 weeks later
@@daedalus5070 nothing bad with mac. It’s a proper Unix. Anyone who knows Linux will feel like home when using macOS. The knowledge you gain on any of these is easily transferable to any other Unix like platform (so about 99% of servers). Development on Mac is great. All the cli tools are there, everything installs smoothly, has a great package manager, every library from any programming language works as expected on any Unix system. It’s great.
None of that can be said about any micro$oft product. It’s a pure nightmare.
@@daedalus5070 idk man, I switched to mac 3 years ago, I can never go back, everything is just better imo. Especially funny to sit beside my windows co worker and hear his engines start up when he opens VSCode while Im coasting with docker and kubernetes in the background and not a sound.
@@Archikuus Same here, switched with first m1 mac, currently on m2 max.
Are we forgetting ESM + CommonJS in the same files? Game changer for anyone who has ever had to re-write an entire library because it wasn't ESM compatible.
It's good if it works but the truth is it's not 100% compatible with CommonJS (node.js)
I'm pretty sure I already get this with Typescript and my tsconfig.
Laughs in es module interop from typescript
@@geoffreyolson9720 not really. Try passing a function written in ESM into a node service worker with all of the correct TSConfig values. Especially if it has code that relies on environment variables.
Been using module projects exclusively for over a year now with Vite, ts-node + SWC, and etc. Only need to patch like one projects package.json the entire time. Pretty much everything is building module exports into the libs now and anything else is just getting handled correctly by bundlers.
This feature is way too late but would have just been another way to facture the ecosystem.
All I know is yarn actually works for the project that npm refuses to install anything on
I've seen that too, but ultimately it boiled down to yarn implicitly doing things npm would need a flag for.
A small side note: I have a WSL setup with Docker installed without the Docker Desktop Application. However, I can't update anymore the Docker Version, because the installation script tells me to install it on Windows. It's not, it doesn't runs in the WSL, but they want to force you to use a License for the Docker Desktop App
Why don’t you want a pretty half whale half cargo ship in your start menu?
@@Kane0123Because my whole system seems to stop and admire that. Even I stop coding. It's an amazing ritual
Yeah, switched to podman on windows. Had to fix some issues when using dev containers, but has been working flawlessly since.
I tried to use Docker on WSL without installing on Windows and I couldn't. So I installed Docker Desktop
I work in healthcare IT and _everything_ is Windows, both at the company I work for and all the hospitals and labs we work with.
That's why ransomware has no problems attacking healthcare.
To be honest, the whole project setup thing and the very slow transpile step (assumes tsc) is gradually eating my sanity away, and actively pushing me to try out golang more and more. If neither Bun nor Node decide to catch up, we'll just going to see more devs like me quitting for golang altogether for backends at least.
Honestly, gaming on Linux is better than ever this year. Valve working anticheat makers to get them working, proton 8 fixing a lot of ubisoft multiplayer issues and generally just getting improved, and more and more games using the vulkan api make the gaming argument against Linux pretty paper thin. Especially with Linux consoles like the Steam Deck.
What Linux users need in gaming is MMORPGs anticheaters to get working! A lot of cool games cannot be playable in Linux because this.
Linux gaming is better than ever every year but good never. It's like th year of Linux desktop meme.
Another reason for Windows. At work we support NVDA (the screen reader) and I was working on automating screen reader tests using guidepup as a proof of concept. I had to use yarn instead of our usual npm because npm has a bug with linking together monorepos in Windows.
I use Windows because my photo editing software doesn't run on Linux and I hate MacOS more than Windows
based macOS hater
darktable is good software.
@@gotoastal Not good enough. Also doesn't help if my color calibrator doesn't have Linux drivers.
why do you hate MacOS more?
8:30 This man actually called out Primagen before the reaction video was even made. That is hilarious.
Not forced to use windows. I used Linux for years as a desktop. It sucked. Pain in the ass to get anything done. It’s an okay headless server but a massive pain in the ass for real work.
3:45 you definitely should support windows. There's a huge amount of developers using it for work
tell that to the folks at docker :(
For development purposes, Windows is still the most preferred OS according to 2022 StackOverflow Dev Survey, so...
its bad, and not used at any companies worth their salt. So while yeah, the shitty mom and pop shops with
So, Hermes is, essentially, a JVM-like thing for JavaScript?
Also, it's probably "public source" as it's used by Facebook to make React Native.
That comment about not being able to get sound working on Linux hits me in the feels. When I first learned to program and wanted to put Ubuntu on an older machine, I thought I was stupid because I couldn't get sound to work.
9:13 "MaYbE iF yOu VaLuE sPeLlInG, tOuGh GuY"
I am dead 😂
yarnv3 is really good (has some minor compat issues but it's blazingly fast)
32:53 BABE WAKE UP ITS TIME FOR YOUR QUARTERLY LINGUISTICS LESSON ON ENDONYMS VERSUS EXONYMS
For those of us peasants with sluggish internet connections, npm used to be quite sluggish and would often freeze during installation. Comparatively, yarn was quicker than npm. Personally, I never utilized yarn workspaces; instead, I opted for NX. While npm has made some improvements over the years, it still encounters occasional problems. This year, I made the switch to pnpm (despite its rather unappealing name). I don't foresee myself transitioning to Bun any time soon, possibly not for another three years. Currently, I'm grappling with pnpm issues that were never present when I used yarn.
the for windows development is so big, is it that bad that i managed to make my entire workstation on windows and still be able to play games? (don't start with wine)
and yes I know how to work on Linux
Maybe at some point there will be a package manager/framework that doesn't have a silly name. There's gotta be an "upgrade" over Bun called ButtoX, I'm 100% sure it's gonna happen
I'm creating a new JavaScript/TypeScript runtime right now, thanks for the name suggestion. ButtoX it is!
@@earthling_parth You're very welcome
One thing that makes bun really attractive you dont have to wory about typescript and imorting libarys. It just works! Every thing lese i dont really care about.
dumb, I have used Linux since the mid 90's but i also use Windows. These tools need to work on Windows.
’90s*
@@gotoastal good Lord...
Even Microsoft knows windows suck for dev
No. Linux needs better gaming support, AutoCAD equivalent and people need to learn LaTeX and quit word and excel.
A question about Stylus, is the extension to change css? did die? how do you do that now?
Name call was actually genius got me laughing
41:40 my works website is like 10mb..and it's not complicated..new version was down to 10kb but then they decided to outsource it probably to keep using react 😂😢😢
Just had this debate yesterday with my buddy while we were working on a SharePoint/AppService integration and deploying code from top-level Windows that we transferred over from a virtualized Ubuntu environment so that we could use bash to work efficiently in development. So many tools specifically in the Microsoft ecosystem don't play nice with Linux that they almost have us hostage in our work environments already, but then they hold our games hostage too. I say the next generation of games AND professional software needs to be built Linux first. Don't leave the Windows users behind professionally, but I wanna see more Linux/Mac Only games to balance out the ecosystem. Not gonna make very much on them initially, but if they get enough exposure, you'll gradually see more adoption for the other platforms. Not even a huge Mac fan personally, but it at least tries to be Unix-compatible on most things.
all i care about with bun is that it’s a all in one toolchain
For now
I use Windows with Cygwin and sometimes WSL.
I just find the GUI the easiest to use and not a hack like most Linux ones feel, and also I can't get along with MacOS, or their laptops build either.
Apps "just work" in general on Windows, plus several pieces of hardware with Windows-only or better drivers vs Linux.
My work laptop is a Dell Precision (basically a business XPS) and is a beautiful machine.
I'm developing business software for Windows desktop users as my job. What OS should I use to code those programs?
im flexible on what os to use but my company forces me to use windows so im stuck with it.
One place where tree shaking can make a MASSIVE difference is when you have a library of 100s or 1000s of icons, but your app only uses a few
Yes, Vue is great. You should absolutely invite Evan You on stream one day. Watching him remain level-headed and mostly unbiased while being interviewed(interrogated?) by Theo is one of the most impressive things I've ever seen.
Don’t be silly, your on twitch. Where gamers live. Ofc we use windows. It’s easier to do that then swap OSs every time I want to game
I remember worrying about runtime versions and using nvm or n
now I just use nix to create dev environments and it works for every language I've used without polluting my PATH
this is why you wait for v2 before committing customer projects. bun if nothing else has opened a conversation about performance. competition is good. bun could also feed ideas into the main nodejs as well. ideas work both ways. bun also needs zig to get to version 1.
@27:00 Is this argument against JSX essentially an argument against all logic-filled templating engines? Because I do agree that adding logic into templates can make for some complicated abstractions and templates and is the main reason why I really like Mustache's logic-less templates. They offer the bare minimum in functionality (conditional, inverse conditional, sections with a ranging functionality, and partials). The rest of your needs come in the form of data pre-processing using whatever language or tooling you like.
Anyone has any insight on why jsx not as good abstraction and/or what template languages and alternatives are out there?
JSX is a compile step for functions. Functions were simple too… argument: a string for the element, object of properties, list/arglist/string of children. Functions are simple, and compile steps are not. It looks similar to HTML but isn’t the same. It’s full of inconsistencies which make it complex & difficult to understand. Granted, JavaScript looking C-like means nesting these functions is ugly & unreadable but if you’ve used these functions in an ML or LISP dialect & you’ll quickly understand how much simpler function can be.
Flip flop between Linux Distros and running windows, I always return for one simple reason to windows, and this is gonna sound strange to linux people: It just works. And if it doesn't, it can fix itself.
I've never had an System Crash or something like that were windows did not have a plan to get back to a running desktop, Windows recovery tools are amazing and they work even though you never thought about them. Too many times I've got told by linux people to "just restore to backup", although the distro does not include any automatic backup solution.
I've borked more Ubuntu installations past point of repair than I can count, and I just recently killed my laptops distro based on Arch.
Windows let's me work, it just runs out of the box like I want, I dont have to compile the whole bionical-universe repository just to install a new texteditor, there is not a single linux distro that does not constantly break if you update or change some part of the system.
By the way updating and changing parts of the system is a part of the daily routine of using a computer. I've never thought I have to write that down but the arch community proved me otherwise.
I finally fully switched off Windows because of a consistent blue screen issue on windows that persisted after an install refresh. I've had stupid issues with Ubuntu, but Fedora has been pretty rock solid.
What the fuck are you doing to those poor ubuntu installs. On my laptop that shipped with windows I literally cannot even restart it from in windows because within a few months (of literally not even using windows more than a few hrs a month) its basic power functionality had broken. Meanwhile I have had linux freeze on me so few times I can count them on one hand, and they were all a result of using ntfs, wine, etc.
*_And I use the fucking arch repos with wayland and nvidia_*
Seriously, what unholy atrocities are you doing to those poor defenseless ubuntu installations
@@gljames24 That screams hardware problems. Sometimes you are able to make the system ignore it, but Windows really don't like bugged hardware (except for the Audio/GPU, Windows can tolerate those things crashing better than Linux).
Once I had a slow down of a couple of microseconds when my CPU did an INT3 and there was a lot of DPCs flying over Windows, So I rebooted to Linux and run the same type of code, it completely locked-out for 15sec.
Bug was a literal race condition, Windows timeout after 200ms, but linux timeout was 15sec, why ? why ? maybe its easier to find your hardware is fucked if you totally lock out (the irony is that its usually Windows that has stupidly long timeouts)
Turned out I had a bug in the Haswell microcode, in theory I should have made Linux patch it on start, but I don't like it to patch microcode for me, so I just rewrote my NVRAM manually myself.
This machine has 6 years and only had 3 blue screens, one caused by a badly seated RAM stick, one caused by a power failure in one of the USB controllers (typical, but it was caused by electromagnetic noise, and badly written driver), and the last one was caused by a bugged driver I was hacking.
@@gljames24consistent I/O Issues lead to a BSOD. There is propably something wrong with your hardware or firmware, usually it is a dead RAM chip or a bad motherboard. Switching to linux will not fix this kind of issue but rather transform it into another issue. Just FYI.
15:40: Linux users getting a real sad reality check D:
OS market share among developers: 60% Win 45% Lin 45% Mac.
so 150% in total 🤣
@@liquidsnake6879 one person can use more than one OS 🥱
in most programming languages I have used the package system + runtime is a standard ...this is not the case in javascript the ecosystem is messed up not sure if this is a good thing or bad thing
what's the other article ThePrimeagen got quoted on?
When I started learning to program I used windows because that’s what I had and I didn’t know any better. It’s nice to have things available that allow you to learn without buying another computer, or installing a new os.
But Linux is free and can be run on a $50 computer. I purchased a 12 year old laptop to do just that.
@@AstroStrongBox but it requires knowledge , so it is not that free (in time) if you have something already set up
@@monad_tcp Fair but putting Linux on an already existing windows box has been fairly easy since 2010.
@@AstroStrongBox dual boot is a pain the ass to use.
And virtualization, well, another thing to learn
@@AstroStrongBoxyea I eventually moved to linux and I would recommend something unix like for programming, but not everyone has the option of just swapping operating systems or feels comfortable dual booting, especially not when they first start. Virtualization is fine, but it’s another layer on top of everything, and some older hardware can’t cut it performance wise.
I tried to use a mac for work programming -- but honestly they changed SO many of the "standard" keyboard short cuts that have been around for YEARS. (ctrl+v, etc) and using the command button which feels less ergonomic. But the worst thing for me is i primarily do networking and even the terminals have different keyboard shortcuts -- ex ctrl a doesn't bring me to the beginning of the line and on top of that sending "standard" escape sequences in the mac terminals need special macros to even get it to work.
you need these standard shortcuts to break into routers and switches locally / over serial connections and trying to google which control character escape sequence conversion to send over a screen terminal to your usb serial cable is tedious and no one is going to memorize it.
What's you think about asdf for managing versions?
outside the US mac users are such a small market percentage that probably Windows has more programmers use than MacOS
4:15 I'm forced to use windows at work and I fully support this take. That will either force the company to use Linux or annoy me to the point of quitting lol
moonrepo/proto is a version manager for Bun. It's even mentioned in the Bun docs.
37:20 Why would anyone use nvm with docker?!
"I hope WSL2 works for you"
BASED
I don't really understand the arguments that it locks you into Bun. Like yeah, but so does using Node. So does using Babel. So does using React.
I wonder what prime would use with todays tech for web dev
The lesson should be that competion is good, right? Would NPM still get faster without yarn? Not sure.
primes windows take is goated, (btw i use arch btw, btw)
8:08 Best moment on this channel by far 😂
Windows+WSL is the best desktop/dev experience. does coding linux under WSL count as "Windows" or "Linux" ?
I had no issue running yarn on windows myself, I tried it out because yarn berry had pnp which I thought might have replaced pnpm for saving disk space.
As for why windows, a lot of companies do dotnet developement, personally I used to use gentoo but windows is just easier to update without breaking.
But for windows WSL2 has isues, you have to run the main operating system in HyperV this can impact things like games if it's a home machine. Msys2 would be better, but native windows support is something your going to need if you want to replace or make it more popular than node at some point, since it's not just about personal use but everyone everywhere.
When it comes to saving disk space under node_modules, before bun you ether had pnpm or yarn berry with pnp, but pnp under yarn berry didn't always work that well without changes to the packages which I think is why pnpm has become more popular.
If bun can do at least what pnpm is doing (as far as file linkages) and work under windows then that should be a good thing.
Absolutely fair point, but my brother in christ anything is easier to update than Gentoo
tbh yarn has always been faster at installing and is still true to this day. I also get less weird cache issues with yarn, so I got a little confused when the article said that yarn is slower than npm?
+1 Windows. I am generally against Apple's forced obsolescence between different OS versions and architectures (going back to the '90s...) and their overall hostility to the self-repair world. That + the reality distortion field felt too cultish, so I stuck with Windows.
no one is talking about the real benefit, you dont need to setup ts compiler for coding in typescript .
npx ts-node my guy
@@zeberast ts-node is dog shit and maintained by a single idiot.
Ahem, pnpm dlx jiti
@@zeberastit’s so slow tho
Since burn isn't OSS, how does it make money for the investors?
Great chat, the idea of having competition forced changes, that is the idea of all computing, those changes can be speed or other items.
This guy saying that Vite requires as much configuration as Webpack is a total joke. That was the biggest L take of the month. I haven't had a Vite config longer than 20 lines and it requires one plugin at most. Webpack was a beast, an ejected create-react-app config for Webpack was hundreds of lines with like 20 different plugins for minification, polyfilling, importing non-JS files in components. All of this took days to port form Webpack 4 to 5 or whatever the hell the version was.
chatgpt makes nice webpack configs
i do not make nice ones and i hate json
3:40 - Yes, you should support windows. There is a countless number of people who could be learning it, are using windows and do not know or can not run a VM.
13:00 i dont understand it, you can develop games on linux, if it works on linux it will 100% also work on windows.
and you can program c# on linux, idk why windows is required for that?
rider or any other ide runs on linux
games runs on linux too, most of the time, steam deck is linux
i dont understand it??
i use fedora silverblue btw
flatpak everything with no access to host, no trash on home dir (flatpak has its own open/save file dialog that auto gives permission to the app of specific files and folders)
and use devcontainers for development
Windows because work forces to use windows and have very strict access stuff which doesn't allow wsl.
If you’re a software developer being forced to work on windows for development, it’s time to start looking for a new company.
Plus since you don’t write userland applications in node, I don’t think that it really matters.
Visual Basic had with, though you had to prefix everything with a dot, so I guess not the same thing. Also don't know which was first.
Did you tried to use Linux with Nvidia graphics card?
Holy sheet, didn't expect to see my outlandish Hermes Engine beliefs shared by The Primeagen!!!
Also yarn runs fine on windows when I was still using yarn a couple years ago. Also i think many people use yarn. Most docs always have yarn. Saying its dead is just not true. Also I think the api of yarn is much easier than npm I think.
Does doing all your development in wsl even count as using windows?
i think compiling code to bytecode would be really fast and memory efficient, lets hope someone make a js engine i hermes js
Bun also has a lot of problems, not sure if you've used it but evens something simple like an express server with a hardcoded endpoint doesn't work consistently well and the debugger is pretty awful, skipping lines everywhere and not working correctly.
Open Source != Open Contribution 🐻❄️
Why is it a surprise a lot of people use windows for development? If you buy a laptop for personal use and use it as a development machine as well you automatically use windows for development. Not everyone will get a work computer.
Also, a lot of companies might opt for buying windows computers for their employees because there's cheaper alternatives. Not everyone feels like dual booting linux on their machines so yeah, you'd be left with a lot of people "developing" on windows.
How dim do you have to be to compare Bun to Yarn?
My wife is a travel nurse and we bought an rv so we could move every few months. I ditched my mac for an extra monitor because I didn't have much room. To make this work I moved my dev environment to windows. I'm not a big fan of programing on windows and miss my mac but it just made my life easier
I've never seen someone fall in love with Windows in real time before.
Here for the Windows part, even though I write C#, I don't use any particular windows feature and could perfectly code on Linux, and I wish I'd be using Linux, but I also code for hobby and sometimes I wanna switch between code and games. Also, my work computer is also Windows and damn it's slow because of all the pre-installed bloat.
I just code in a Linux VM and run Windows baremetal for games
u need steam OS lol
@22:20 ish, how easy is it to swap out any build process? Most applications are locked in to whatever was used to bootstrap the app.
It's easier to start over and $mv src/* into a new project than to take an existing one and change the tooling.
So much tech writing is just bad logic, ironically.
Windows for me is because we've been a microsoft shop forever, but switched to Node/AngularJS right before I started. We've relied on MSSQL pretty heavily, and linux/macs don't have as good of tools for it. Until recently, our servers were also all windows, and remoting on to them is more of a pain on other servers. Our DNS set up is also wonky on non-windows machines, amongst some other things. Our junior devs are mostly on mac's, but they don't tend to touch that stuff much at all.
I totally get the "README's that only specify yarn instructions" argument, but I think that's honestly because so many people skip the fundamentals. Yes, the JavaScript ecosystem is immensely complicated, but I think it's relatively simple to explain dependency management as a concept, and that's transferable to so many other places.
This is simply how the world works. It's how we innovate. npm has gaps and inefficiencies, yarn fills them, and there are 2 outcomes: yarn becomes the new defacto, or npm evolves. This guy is Monday-morning Quarterbacking the point that yarn was somehow a mistake because npm was able to evolve. But what if npm wasn't able to? Because that happens too.
There is no reason to bash new tech and innovation, it's how we all get better as individuals, as a community, and as an industry as a whole.
And yes, some tech will come and go as a result, and that's fine.
I was always a die hard Linux user for development. But I currently work at a company who is extremely entrenched in Microsoft products. Outlook, Teams, Office, etc.
We'd have access to most of it on Microsoft 365, but that is a really subpar experience. Given the amount of time I end up needing to use that stuff when working with non-technical staff members, it ends up being easier for me to just use WSL than to insist on using Linux. But that's a judgement call. There is nothing stopping me from using Linux per se. The company even has a fully supported internal Ubuntu variant.
I try to switch to Linux every few years. They tend to destroy themselves through updates after a while and then I'm back on Windows, because I'm not gaining enough from using Linux to bother to figure out how to fix it again.
The major exception is compiling C/++. Never figured out how to supply dependencies on Windows.
In my experience, it's not Linux that is prone to breaking itself through updates, but rather, Windows.
I use the arch repos with wayland on nvidia machines and have only ever had anything break because of a mid dkms compilation crash which was fixable in under 5 minutes with a nip of googling. ( and power loss mid update will break basically any OS so thats not really anything special) I seriously want to know what unholy atrocities people are doing to their linux installations to have these stories.
Honestly, I think I'm on board with this article.