I think the answer depends on the dev environment.
PHP devs vs dotnet devs. Java devs to Go devs.
Certain groups will have their preferences. I guess it is cultural. However there can still be an overlap.
From my personal experience in the world of dotnet development, pretty much everyone was using Visual Studio (IDE) back in 2005 onwards and it would have been considered EXTREMELY STRANGE if anyone was using anything else.
The thought that anyone would want to use a Text Editor would have been a step backwards in their minds. IDE's are the best and what would top Visual Studio in this domain?
I remember playing with SharpDevelop which was cool. I also remember using Aptana for javascript. I think that's still going today but likely different now.
However... being an Emacs guy since around 2006-2008 - I always tried to use it for C# (and VB.NET then) development but couldn't get it fluent enough. I was using Emacs for practically everything else like C, PHP, Scheme, etc.
In 2012 I was using in a room with PHP devs. They were using Sublime Text 2. No IDE or anything. I also worked with a Mac guy creating mobile apps with Objective-C. He was using Vim. We had a good time comparing Emacs and Vim.
Back to dotnet from 2014 to now and most are still using Visual Studio IDE. Some gradually moved or tried Visual Studio Code. From my experience, it still seems Visual Studio IDE is still king for dotnet devs.
For me, since .NET 5, I found a nice sweet spot developing dotnet in emacs. Everything done with keybindings -- NO MOUSE.
I still get strange looks but nowhere near the same if I was doing the same things 10 years ago. I think Visual Studio Code has neutralised the IDE vs Editor discussion.
I did try Jetbrains, though. Looked really good!
I also keep an eye on SharpIDE.
At the end of the day -- I don't care what you use if it makes you comfortable and get stuff done. If you prefer IDE's then use it. If you prefer a powerful text editor... use it.
Where are you likely to hear a "Success Story" especially an adult who likely moved on from Scratch since they were... what.. 10 years old. Perhaps younger.
Truth is you are either going to be interested in programming.. or not. The question is how the brain triggers to get you interested.
I could argue the starting point (for me) was Visual Studio 6.0. (1998)
Or.. maybe.. it was Turbo Pascal and Turbo C. (1997)
Or.. maybe.. it was Quake and QuakeC. (1997)
Or.. maybe.. it was the Open University books laying around. (1995)
Or.. maybe.. it was watching DooM for the first time. (1993)
Or.. maybe.. it was playing the Amiga at my friends house (1991)
Or.. maybe.. it was playing the Amstrad at my friends house (1989-1990)
Or.. maybe.. it was the BBC Microcomputer I never got to touch in school. I saw others using it, though. (1988?)
Or.. maybe.. it was watching a zx spectrum advert around 1985. A little toddler pointing at the screen and expressing his interest to Mum. I loved that advert (and actually came across it again recently on YT) -- is this the REAL starting point?
Point is... Scratch is likely a great starting point for kids today. For some they might move to Python or something and forgetting where they started. Like me, they probably had other things before Scratch that peaked their interest.
scratch was the trigger for me just as you say. I was turning 11 when we used it at school (28 now). A year or so later I was reading Java for Dummies and making little tools on the TI-84. Then learning C++ and python on a raspberry pi 1B. I’m grateful to that computer lab teacher who thought scratch was worth teaching.
If I don't "own" a digital game, then I have no interest paying for the game.
Its weird how hardware works these days. We are expected to pay full price for something that Companies believe they own and control. Whether its a DVD/Bluray or even something like a Printer or Switch 2.
With the Switch 2, it seems well documented that if I try to do anything that Nintendo doesn't like then they might brick it. If that's the case, why should I pay "full price" for it if I do not own it?
Even with a Printer that can auto update itself, could be controlled by the Company. If not now then it could in the future. What if I have plans to try things with the Printer? Could that get bricked as well? Lets stop thinking that this is just something for game systems. If can be any hardware.
Now we come to laptops. Microsoft push the idea that if Windows is installed then they control the whole system! Let that sink in. I do not own this version/copy of Windows. I have the rights to use it... but Microsoft is not just calling the shots with the Operating System or contents... BUT THE WHOLE LAPTOP!
Personally, I think we are coming to an end for Games Consoles. They might have one or two more generations left, imo. I do think game systems will simply be PC's in the future, like the Steam Machine. It may not come bundled with physical media but it should ALLOW you to save your purchased games to whatever physcial media you choose. Bluray, USB stick, SD Card, etc. Whether 5, 10 or 20 years later, you should still be able to run it! None of this 'half baked' copies that contain some of the games content with the rest to be downloaded. That ** relies on some server and that won't be there forever.
I honestly believe Microsoft missed on an opportunity to claim a percentage of the Linux market by not creating from their own Linux Distro.
This distro would have been the default under WSL. Not Ubuntu. Not Debian. Etc.
Most people would not have cared which distro. They would simply used what was provided. However, this distro would come preinstalled with Powershell, Edge, to name a few. To further that it would make it easy to install additional Microsoft software like SQL Server, Management Studio, dotnet, etc.
Simply imagine the vast majority of Windows users who have never touched Linux trying WSL for the first time and getting accustomed using tools they already know on Windows. It's likely Microsoft or their distro would gain some popularity.
While this would be common with WSL - users could also download the distro for a full install. Use what they are already comfortable with. However, if they do decide to use a different distro, they would likely have enough confidence to know how install Microsoft software on it.
Again (and thankfully) a missed opportunity.
In all, why do I care about Edge or Powershell or other Windows-based software or tools on GNU/Linux?
If there is general interest in using Edge - I, too, would like to hear it.
If Microsoft stepped any further into the Linux world, the OSS community would run far away.
There's already a precedent for massive backlash whenever Canonical or Red Hat build something proprietary or upstream a change that favors their business goals instead of the larger community. Given Microsoft's well-documented "Embrace/Extend/Extinguish" approach to open competition, no one would trust them.
However, you are referring to the OSS community that are aware of user freedoms, software licenses... putting the end user first!
I am talking about the majority of Windows users (even tech users) who have not touched Linux. This is still a large user base.
Imagine them getting their hands wet trying out Linux for the first time via WSL. Imagine them using a default distro that holds their hand with what they are familiar with.
Regardless what the OSS community thinks, if Microsoft played their cards right, they might have gained something not just in WSL space, but also Azure.
Loads of people, even today, purposely go with Microsoft products because the business they work for supports it. Its those places that may have given a Microsoft Linux OS the chance for some percentage share.
There are people out there that are all in on Microsoft and do not care about licensing or Free/Open vs Proprietary. Some people just want to use what they are comfortable with and continue to push whatever their job covers. If there is a reason to use Linux, they likely would be happy to use a "Microsoft Distro" to keep things connected.
That's a fair distinction. I suspect it would mostly mimic the way things played out with Android & ChromeOS. A corporation made the most polished and usable Linux distros ever, and it split down the exact lines you mentioned:
- The OSS Faithful, who mostly ignored it and didn't count it toward "The Year of the Linux Desktop"
- The normal folks, who use it without knowing anything about the underlying Linux baseline
This distinction is baked into the design of the OSS movement. The goal is to build usable computing that doesn't depend on a corporation (though alliances may be made at times when incentives align), and any corporate encroachment is fairly seen as antagonistic to those goals.
All that being said, none of this really serves Microsoft. They have a fantastic OS kernel and hardware support already (even if they throw crappy UX on top of it), and their chief differentiator is their long tradition of backwards compatibility. This locks enterprises and users into their ecosystem, and pushing a Linux distro would only give customers an opening to look elsewhere.
> All that being said, none of this really serves Microsoft. They have a fantastic OS kernel and hardware support already (even if they throw crappy UX on top of it), and their chief differentiator is their long tradition of backwards compatibility. This locks enterprises and users into their ecosystem, and pushing a Linux distro would only give customers an opening to look elsewhere.
It has to serve Microsoft one way or another. They have changed their tune with Open Source since 2010 (ish)
A number of their software/tools have eventually supported Linux as well as Windows. dotnet is a great example of this. dotnet core was released around 2016.
Why did they do that? My guess is because of Azure to increase their user base. The option for a Linux VM as well as Windows.
Personally I do think they have a 'master plan' within the world of Open Source. It might not be to eradicate it but to gain a monopoly over it.
I think they have accepted they cannot beat Linux in an simple OS/Kernel war. However, they can control Linux with everything else needed for it to be usable. With the amount of money Microsoft can throw at it, they "could" run tactics for users to use Powershell instead of Bash. To use SQL Server instead of MySQL/MariaDB/Postgres. To use dotnet instead of Java/Go. This can be done without people realising its orchestrated by Microsoft.
This sounds laughable to a typical linux guru but we are getting closer the "the year of the linux desktop" and many that do switch are pure Windows users. If Microsoft play their tactics well, these people will want to take their Windows knowledge with them rather than learn the linux way.
This brings us back to WSL.
Microsoft made it extremely easy to install Linux thanks to WSL. You think how many IT users there were that only used Windows all their career. Since WSL that number has shrunk a lot!
Imagine them using Linux for the first time via WSL:-
"Oh.. awesome. I can still use Powershell! I wonder if I can install SQL Server. Probably can with Docker! Microsoft have made it rather easy for me thanks to their own distro. I might use this distro when I create a VM in Azure next month"
My usage of YAML has been limited. For the times I have used it (kubenetes, docker compose, other things, etc) -- I don't get what it so special about it.
It just seems reinventing the wheel again and again.
I am not suggesting JSON is perfect, either. However I do prefer it to YAML (and XML) by a mile.
It's a shame s-expressions never taken off.
(select (id name)
(:from users)
(:where (= name "Peter")))
12 years old when Windows 95 was installed on our 486 PC. Such a change from Windows 3.1
I do remember my dad jumping back to Windows 3.1 atleast once, likely for the reason of performance/memory issues at the time with Win95 - but he did go back to it. Overall, it was a big step.
A couple of years later, likely to run Quake better that in did on our 486, he built his own PC. Pentium 133. I couldn't remember what RAM and HD space it had. Maybe 32MB RAM with 200GB disk or something. I am just guessing.
Regardless, running Windows 95 on it was night and day. High resolutions and smooth experience! It likely crashed a lot but when you had nothing really to compare it to, it is annoyances that were not that big of a deal back then. You just accepted it.
Of course, playing Quake on it was an absolute dream. A year or so later - we then had 3dfx cards. Good times!
Moving to Windows 98 just didn't seem like a big step to me. Windows 98 looked exactly the same as 95 except the desktop was riddled with icons to the internet. I hated it. Eventually you moved over it. Looking back, Win98 was likely a heavily improved Win95 and didn't crash as often. Again, these are things forgotten in time.
How times changed. I also had Windows 2000 at University and then moved to Windows XP. I had to keep reinstalling WinXP every 6 months as my mouse cursor would start to move downwards on its own. As much as I liked XP (eventually) it was the starting point of moving over to Linux.
My experience with Vista was not great. Again, from memory felt very bloated. Windows 7 was good. Never used Windows 8. Windows 10 was good. As for Windows 11... its simply mixed with pros and cons.
Because despite all the fear, uncertainty and doubt thrown at the C language over the last 20 years, the truth is that its a relatively 'easy' language to use.
What do I mean by 'easy' ?
C books can typically be about 300-500 pages give or take. Compare that with modern languages especially a Java book in the 2000's, it would be closer to 600-1000 pages.
Why? Because half the book is talking about Object Oriented Programming.
C is simpler by comparison, once you get your head around it quirks and gotchas. Afterall, every language has their own gotchas!
To me, there is a difference between good C programmers and bad or non skilled ones. Those that understand C can write some good and efficient programs that care about performance and memory.
With all the above... the truth is that you could write this towards ANY language. They all have their pros and cons.
> I don't understand why anyone would still start a new software project in nodejs today, given the long track record of mistakes developers can make in it.
> I don't understand why anyone would still start a new software project in python today, given the long track record of mistakes developers can make in it.
> I don't understand why anyone would still start a new software project in java today, given the long track record of mistakes developers can make in it.
And dare I say this one...... ???
> I don't understand why anyone would still start a new software project in rust today, given the long track record of mistakes developers can make in it.
OK. You can argue that rust is not old enough to be labelled the "..given the long track record.." - but everything else stands.
Maybe I'm an old fart - but I miss when you could purchase a game and play it. No need for internet or signing up. Insert, press power, and play.
I understand times have changed. You cannot just insert a cartridge or CD\DVD and run. Games are so large that running off a disc is not good enough anymore. They need to be installed on a hard drive. I wouldn't be surprised that some games are so large they require more than 1 bluray disc. However, they should still work "out of the box"
Well this should be the case for single player mode. For multiplayer then you may need to create an account, etc.
I don't know.
Just seems that even when you purchase a physical copy it does not contain the full game. You still have to access the internet to download additional content.
Truth is ownership. Do you really "own" your physical game? I mean you own the Disc it's on but the contents all go through the games console and their services. You essentially own the rights to play the game!
It's nothing new with Microsoft since Windows 95 (even 3.1) and their end user license. You never owned it. It's just times have changed, now. Microsoft are not just trying to control your computer via its operating system, but to control the whole computer itself.
Why is this any different for game consoles? Do you really "own" the console? I mean I am willing to put money down that one of the 3 Companies would lock you out if you tried to do something on Sony, Microsoft, or Nintendo's latest systems that "you shouldn't be"
Let that sink in. You spend how much on a console... and it really is not yours. Oh, and how much do you spend on games... and it really is not yours. Yes.. physical or not!
None of this surprises me. However, I do not know what the solution is, either. Well, other than if you purchase it, it is your copy! If it isn't, then why should I spend over £/$40 for these games?
I believe this is a chunk of the reason why I am not a gamer anymore. There are some games I still play but I don't know if I will every play the latest and greatest of games including GTA6. Maybe one day.
If I made a game - I would still follow the old method. Maybe use Steam. If you buy it then you get the files. It's yours! You can play it! It would work without the need of the internet!
Could some people pirate it? Sure. However, I am confident that if the game is good or atleast enjoyable then I would have received a nice sum of money - or atleast allow people to buy me a coffee through my website if they enjoyed it.
The biggest power is consumers have is our wallets. Say no if you disagree and don't give them money. I am willing to do such a thing. Sadly, the majority don't care. They just want ease of use. This is not just about games, but many things.
GCC, GDB, CoreUtils, etc - A COLLECTION of useful programs alongside a kernel such as Linux.
Barely relevant?
We owe our thanks to the GNU project. If Linus did not create Linux, something else would have taken it's place. "Maybe" HURD... or maybe something else.
> HTMX makes it hard to build even basic things, because it swaps entire HTML forcing a full repaint. That's the foundation of how it works.
I 100% disagree with this comment.
Lets make this clear, htmx does not swap 'entire html' - you have control to refresh whatever section of the page. That is not a full repaint.
I am beginning to wonder what tests you have done in htmx before making such a verdict.
Yes - I break my Views into "small components" - I guess it's better to say I create a lot of Partial Views. I follow a simple 'where there's one, there's many' mindset. All Partial Views are designed to return an array, even if what I need is a single record.
> Examples include user highlighting text
I've written an Application (in htmx) that has a text area for sentences. There is 'compile' function that breaks down the sentence, colouring specific words/phrases. How does it do this? htmx! It sends it back to the server-side and builds the sentence.. returning back the html with coloured texts and other meaningful attributes. It overwrites that section of the screen. It is light and fast!
The great thing is all validation and html rendering is done of the server-side. No code duplications or anything.
Now, this is perfectly fine for what I am doing. However, the text is barely no more than 30 words. If I was trying to write a text editor the we have a different type of problem. If using htmx, would likely work it out to update a portion of the editing code, perhaps per line. This would move it away from using a text area.
> Or user mid scroll through a menu, the scroll is reset to the top
I believe, with the text solution I mentioned above, I also pass it the cursor position. As we are processing the text, any changes may move the cursor - so I let the server-side handle it. This is great because the functionality written is not designed for just the web - but any 'text area' in any GUI!
From memory, with some javascript, I managed to return to the caret position once the html section was refreshed. I cannot remember 100% how I did this as I do not have access to the source code.
> On game dev: I think it's good...
I've already commented about game dev and htmx. I will paste that section here:-
Would I use htmx if writing a web-based game? probably not. I guess it would depend. I would assume I'd be writing a fair be of javascript for WebGL-based rendering and typical update logic (input, physics, health, etc)
Maybe WASM is a better choice in this domain. I don't know.
PHP devs vs dotnet devs. Java devs to Go devs.
Certain groups will have their preferences. I guess it is cultural. However there can still be an overlap.
From my personal experience in the world of dotnet development, pretty much everyone was using Visual Studio (IDE) back in 2005 onwards and it would have been considered EXTREMELY STRANGE if anyone was using anything else.
The thought that anyone would want to use a Text Editor would have been a step backwards in their minds. IDE's are the best and what would top Visual Studio in this domain?
I remember playing with SharpDevelop which was cool. I also remember using Aptana for javascript. I think that's still going today but likely different now.
However... being an Emacs guy since around 2006-2008 - I always tried to use it for C# (and VB.NET then) development but couldn't get it fluent enough. I was using Emacs for practically everything else like C, PHP, Scheme, etc.
In 2012 I was using in a room with PHP devs. They were using Sublime Text 2. No IDE or anything. I also worked with a Mac guy creating mobile apps with Objective-C. He was using Vim. We had a good time comparing Emacs and Vim.
Back to dotnet from 2014 to now and most are still using Visual Studio IDE. Some gradually moved or tried Visual Studio Code. From my experience, it still seems Visual Studio IDE is still king for dotnet devs.
For me, since .NET 5, I found a nice sweet spot developing dotnet in emacs. Everything done with keybindings -- NO MOUSE.
I still get strange looks but nowhere near the same if I was doing the same things 10 years ago. I think Visual Studio Code has neutralised the IDE vs Editor discussion.
I did try Jetbrains, though. Looked really good!
I also keep an eye on SharpIDE.
At the end of the day -- I don't care what you use if it makes you comfortable and get stuff done. If you prefer IDE's then use it. If you prefer a powerful text editor... use it.
reply