|
I haven't tried it underwater yet, but Linux does run nicely on the Pi.
|
|
|
|
|
No. Why? In one word (or maybe two) - VisualStudio. There is nothing in Linux world that comes close to it; not by a mile; not by many miles. I've tried over the years a few times and all the substitutes were so poor, specially on the debugging side, that I was relieved when I got back to Windows.
Another gripe I have with Linux world, this time as a user, not a developer, is the endless list of options where there isn't one that is obviously better. You could use GNOME or KDE or Xface or Cinnamon or (any other of 30+ desktop environments out there). Makes you want to go back to the command line but there are tens of distros, each one with it's own idiosyncrasies and slight incompatibilities.
All that makes me use Linux only for small gizmos like the many RPis and BeagleBones I use for work and around the house. General rule is: find a working configuration and don't touch it unless you're forced to.
Mircea
modified 9-Aug-24 18:29pm.
|
|
|
|
|
Mircea Neacsu wrote: ou could use GNOME or KDE or Xface or Cinnamon or (any other of 30+ desktop environments out there). I love Linux, but IMO you hit the nail on the head. With so many peeps contributing to it, you got endless options. Which, you'd think would be a good thing. But, mix that in with the immature flame wars about "omg, dis da best n00b" kinda fun and well, it's annoying when you just want crap to work and go on about life.
There are some beginner friendly distros that don't go through that. If you find one you like and a Desktop Experience (DE) you like, then screw what the kiddies think.
Side note, JetBrains makes cross platform IDEs... even one for .NET (it's not free tho). And there's VS Code. But, you totally have a good point that if you do C#, may as well install the grand daddy of IDEs for it.
Jeremy Falcon
|
|
|
|
|
Mircea Neacsu wrote: VisualStudio. There is nothing in Linux world that comes close to it Have you never used emacs?
|
|
|
|
|
that's still around? I may have to spin up a Unix VM to see how it plays.
Emacs was wonderful, because it provided syntax coloring for code. Is it VS? No, and that may or may not be a good thing.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
My favourite editor when I was working on AIX, Solaris, Linux and Windows, all those years ago.
|
|
|
|
|
You're kidding right! Emacs has a steep learning curve and most users can't handle it.
I come from Bell Labs Unix where I used both emacs and vi a lot. Windows in my opinion and experience lacks the power of the command line that is available in nix, however powershell comes close but relies too much on .net.
|
|
|
|
|
I guess you missed the joke emoji.
|
|
|
|
|
Mircea Neacsu wrote: No. Why? In one word (or maybe two) - VisualStudio. There is nothing in Linux world that comes close to it; not by a mile; not by many miles. I've tried over the years a few times and all the substitutes were so poor, specially on the debugging sid
Yep VStudio was an issue for me too, but with .NET Core (if you’re there) and Visual Studio Code you can debug all code.
So, as the world moves to .NET Core this will be even less of a thing.
I dev all greenfield on .NET Core / Linux / Visual Studio Code & it works great.
However, at work we are still on VStudio 2013 — but I remote to those windows boxes & do that work anyways. I also run VStudio in a window VM if I need to.
|
|
|
|
|
> Mircea Neacsu wrote:
>
> In one word (or maybe two) - VisualStudio.
Close but no cigar. Ditched that clunker the very second I found JetBrains Rider (but our relationship had already been toxic for a decade or so). Now I start Visual Studio only once or twice a year, to build/publish some legacy stuff - after having done all the development in Rider.
What keeps me firmly rooted on Windows boxen is LINQPad. There's nothing even remotely comparable in the Linux world, and there probably won't be since JPad unfortunately seems to have died in its infancy.
My LINQPad script tree currently comprises 3464 files in 709 directories; it is basically a knowledge dump where each piece of knowledge is packaged as a LINQPad script, opened with a single click and then executed with a single keystroke. This goes from how to call a certain API (one line, or a handful) up to POC implementations with many hundreds of lines and maybe dozens of includes and referenced assemblies or NuGet packages. Basically, I don't start coding tricky stuff in a C# project until I have it working perfectly in LINQPad. Also, I often write LINQPad scripts (read 'C# programs') where I formerly would have done battle with batch files or Power$hell scripts, because it is so much more convenient and so much more powerful. Plus, I get to use a language with palatable/sane syntax (C#), as opposed to all the shell languages that I've ever seen.
Also, having programmed the Windows API since Windows 2.18 and the Win32 API since NT 3.51 I tend take certain amenities - e.g. threads, reliable file locking, interprocess synchronisation primitives, clipboard - for granted. That's why my mind really boggles when I find that Linux does not have interprocess mutexes, for example, and that people recommend farting around with disk files instead. That's not really a desktop/UI issue but it keeps me away from Linux and Mac for everyday work, because I cannot make them jump like a can even the newest, sh*ttiest iteration of Windows yet. And there's always the WSL if need arises ...
|
|
|
|
|
Mircea Neacsu wrote: Makes you want to go back to the command line
Bourne? Bash? ksh? zsh?
(your point is well made)
Mircea Neacsu wrote: but there are tens of distros
"Tens"? If only. DistroWatch maintains a top 100 list, and there's many more.
|
|
|
|
|
I guess it comes down to what kind of computer work you do. I was a firmware engineer for my whole career and hardly ever used VS. I've actually never used C#.
|
|
|
|
|
sasadler wrote: I've actually never used C#. Me neither. I've always used C++
Mircea
|
|
|
|
|
I'm not a professional developer, and I don't know if the Visual Studio version is a poor second cousin for support, but this site suggests it is available for Linux.
Download Visual Studio Tools - Install Free for Windows, Mac, Linux[^]
Personally though, every time I've cut any code, I've been super happy with the tools that come with Linux - though I get a new user might take a little while to discover them all. I guess it depends on what you do.
|
|
|
|
|
After that chat a while back about Linux, I decided to install Debian/Gnome again on my laptop. My desktop is still Windows 11, but I'm on my laptop posting this from Debian.
raddevus wrote: Why? Or Why not? Linux has a high learning curve. Distros like Ubuntu help with that. IMO that's the only reason why not to. The desktop experiences have come a long way.
Now, the reason why... IMO if Microsoft and big tech didn't start acting greedy and foolish there wouldn't be a reason. But, to trust MS with your data now is being a bit naive. That's the biggest reason. Oh, and Windows Update is more a virus than anything else.
raddevus wrote: I couldn’t even run everything I wanted to run (a couple of games and Atmel Studio (embedded IDE which is a variant of VStudio, only runs on windows) The only things I miss are Photoshop and a few games. Outside of that there's no difference, minus getting used to stuff like a different audio player, etc.
And yeah there's Wine, but only older versions of Photoshop work with it. I may just bite the bullet and install a VM, but it's my laptop, so maybe not.
raddevus wrote: I also do Android programming and Android Studio runs better on Linux. IMO C programming is better on Linux too.
My only beef with the OS are the uppety zealots that are immature and can't give straight answers to questions you ask online. Like "how dare you use a distro I don't like, etc." Guess that happens on Windows too, but you get the idea.
Jeremy Falcon
modified 9-Aug-24 19:07pm.
|
|
|
|
|
Quote: ... the uppety zealots that are immature and can't give straight answers to questions you ask online. Like "how dare you use a distro I don't like, etc."
Isn't that the truth. The bane of my Linux existence - especially early on.
|
|
|
|
|
Jeremy Falcon wrote: Oh, and Windows Update is more a virus than anything else
Once you experience the smooth updates of Linux you will be astonished by the terrible-ness of windows updates. But, that is the trick for windows users — they have no idea that updates could be better, I guess. MS contributes to the cloud of curses that floats over the world (due to their terrible updates).
|
|
|
|
|
raddevus wrote: Once you experience the smooth updates of Linux
Until it's not.
I've had a few VMs in the past, and a laptop still to this day, that won't complete the update I've launched from a command prompt, because the background task that drives the GUI version of the updater had already been initiated, and now complains about a file being locked (I forget the name - I'm sure most Linux users have seen it - it's always the same file, in the same folder). If I manually delete the file and / or its container folder and retry, too late, it's already been re-created and locked again. And now both the GUI version and command prompt get stuck because of that locked file that keeps getting recreated as quickly as you can delete it.
Or some distro that won't update itself because the ISO you've installed from is now too old, and the only way to get it working again is to manually change whatever repo it's fetching its updates from. And that process is never the same even for two different distros, and your googling results in instructions that don't apply to yours...
|
|
|
|
|
Interesting, haven't experienced that (and hope I never do).
|
|
|
|
|
Likewise. I have had one NVIDIA update not install properly in eight years (and in fairness, installing Video drivers in Windows was not a great experience either). I've also had self inflicted pain where I've overridden dependencies and caused later issues, but not recently either.
I suspect that is pretty dependent on the distribution you use. I've used Debian, Mint and Ubuntu mainly for the past more than 8 years as a full time daily driver.
|
|
|
|
|
Btw, what shell do you use? If you're still on bash it's time to switch to zsh for a user (non-root) account. Not only is it now the default on MacOS, it's a much, much, much, much, much (did I mention much) better experience for developers if you add things like oh my zsh .
Jeremy Falcon
|
|
|
|
|
Interesting. I have a MacBook Pro and Mac mini so I experience zsh quite often but never noticed that much a difference from bash (which I run on my Ubuntu).
|
|
|
|
|
It's bash compatible. And to be honest, it's the ecosystem that sets it apart (oh my zsh, etc.). But, outside of the ecosystem, zsh has a better setup tool (you'll see it the first time you use it), if you do stuff like shell scripting its syntax is bash compatible but some of its newer syntax is a bit cleaner. It's tab completion is hands down better than bash. But really, at the end of the day it's the ecosystem that'll do it.
For me at least, I'll use zsh for my login shell on my user account on my dev box. For servers I don't install anything extra and stick with bash. If I'm writing a reusable shell script it's always in bash syntax to work with both. But, if I'm on my dev box and writing something specific to zsh I'll user the newer stuff.
But, these are just words... we need pictures. Especially when viewing things like Oh My Zsh where you get context aware prompts. I'd never install Oh My Zsh on a server as its overkill, but on a dev box why not. Typically these days I script most of what I want from OMZ (Oh My Zsh), but what I learned I learned from that project so its a great place to start with.
But all that doesn't really matter. However, the one thing I cannot live without is the fish-like history search. It's like the scroll wheel on the mouse. It's a game changer. There's no going back man.
Let me just give you an idea... fish-like completion. If you see the grayed out part, it's searching my history as I type out new commands. You can cycle through matches via up or down arrows and do tab completion. If you ever have to remember what the world you typed for a command you rarely used, this is a life saver. I'll never go back until I find this plugin for bash. Edit: Here's a quick video of it too.
Jeremy Falcon
modified 10-Aug-24 14:05pm.
|
|
|
|
|
Like you I made the switch to Linux (Ubuntu) when I purchased a new desktop for my home use back in 2015. It's still my primary (only) computer unless you want to count an Android phone and an Android tablet. My wife has a Win10 laptop but I only use it when she says, "Here, fix this [grawlix] POS."; "Yes, dear."
My reasons track with yours: ease of updates and seems to use less resources. After all, it's still running after nearly 10 years and I haven't noticed it becoming sluggish (I did upgrade to an SSD a few years ago). I also do a bit of hobbyist coding. I do miss Visual Studio's tool integration but not that much - especially since retiring in 2018).
Start long winded (somewhat related) story...
I run everything in VMs so the Windows programs I use for which I can find no Linux replacement that I like I have a Win10 VM. I can't upgrade to Win 11 (no TPM 2.0) so I'll probably replace the whole PC towards the end of the year (Black Friday sales maybe? That's how I got this system.)
When I bought the PC back in 2015 it had Windows 10 pre-installed.
I dumped that and put Unbuntu and Oracle Virtual Box on it.
I created a couple Linux VMs (my main daily use system, a Plex Server, a figure out Linux play system) and a Win 10 VM.
When I spun up the Win 10 VM it of course said my system was not registered. That was when I discovered that MS no longer put a colored license key sticker on the installation CD. I called MS support and asked how I could find the key. They gave me a command to return it. It didn't work because Windows was newly installed on the VM and not the version that was pre-installed on the PC.
So, I asked him, "If, let's say, I had taken a system backup (disk image) before I embarked on this VM adventure, could I restore said backup, run this command to record the key, and then come back to this VM to enter it?"
He asked me, "And, you only mean to run Windows in this VM and not copy or replicate it elsewhere?"
I replied, "Yes. I have no intention of making copies of Windows or this VM."
To which he replied, "Then, Yes. This command will work for you."
We both chuckled, that's what I did, and the rest, as they say, is history.
I pretty much jumped in the deep end of the Linux pool and managed not to drown (though there have been bouts of emphatic cursing). But, I'm happy with how things have turned out and I haven't looked back.
|
|
|
|
|
I typically main linux on mothballed desktops, or at least I used to, but now I tend to give them to family.
I've gotten pretty familiar with it, and yet still I won't main it for billable work if I don't need to.
The reason is simple - it's really easy for something to go sideways with linux (depending on what you're doing, but I do a lot of dev, so it's a frequent issue) and when it does, it takes a lot of fiddling to fix. I can't afford that - or at least, I don't feel good about billing clients for troubleshooting my dev machine, so it's lost money.
Sure, with Windows things blow up too, but having even written a (small) part of windows for Microsoft, I'm pretty familiar with the soft underbelly of it, and I can cajole it into at least limping along to do what I need even in the worst case, without having to go down a rabbit hole like I would with linux.
So part of it is familiarity. Also there's one distro of windows I use. There are a million distros of linux, each with their own quirks, so knowledge of one doesn't go as far as it does with windows.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|