|
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
|
|
|
|
|
^ This, a million times over.
|
|
|
|
|
FreedMalloc wrote: 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.
Great story & that has been my experience too.
I had some of the same issues with windows in VirtualBox.
|
|
|
|
|
I don't play games.
Edit: Office 2003? Photoshop 7 (2002)? Visual Studio 2010 Express?
modified 10-Aug-24 14:15pm.
|
|
|
|
|
It's kind of a weird question, because consider that one of the main reasons I run windows - aside from app compatibility is it's easier to run other operating systems inside windows than it is to run windows inside linux.
I use WSL (linux) and WSA (android), and given WSL required a kernel recompile, it at least does what I need now for embedded.
If I target an OS I need to be able to test on that OS. Like it or not, Windows is what's for dinner, at least for me.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Oh, I easily remote to Windows boxes via Remmina (RDP software)
And I run my full copy of Windows via VirtualBox on my Ubuntu distro & even build apps that I’ve deployed to the windows App Store from my Windows VM. No troubles at all.
|
|
|
|
|
I've had issues with VirtualBox failing to capture certain USB devices.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: I've had issues with VirtualBox failing to capture certain USB devices. Not only you. And not really me, but I have heard it a lot
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Ah, yes, that is very true.
|
|
|
|
|
I have been running on Linux for over 20 years now.
Started with Fedora and switched some years back to Linux Mint for my gaming machine and LMDE for my development machine.
Experimented with SUSE in the early 90's but that was not a real succes, just had too little time to really get into it.
Last month I changed my gaming machine from an old Intel system to a brand new AMD gaming monster.
Just take the SSD-drive from the old hardware and plug it in the new one and all is well. Try that with Windows.
Same 3 years ago with my development machine, just take the SSD-drive and put it in the new hardware and it just runs.
For development I use:
- Aqua Data Studio for SQL Server management and development. So much better than SSMS, you have no idea until you try it.
- JetBrains IntelliJ IDEA for Java/Quarkus/Camel development
- JetBrains Rider for C#
- JetBrains PHPStorm for Laravel
The JetBrains IDE's are so much better (and faster) than Visual Studio, I never really liked the Microsoft development tools, they always seemed to get in the way.
Further I run several Docker containers with MSSql server on Ubuntu (yes, that is the best MS product and because I need it for my customers).
But also an NGinx webserver, a Postgresql server and several others.
I gave Windows the final kick out of the door couple of years back when I had to demo an application for a customer.
The evening before I boot the (hardly ever used) portable (I dislike portables with a passion) and it wanted to update so I let it.
The next morning it still wasn't done updating.
Needless to say I took an old portable that ran Linux, installed the application and went to the meeting.
That evening the new poratable was also running Linux.
All this just to make clear that you can perfectly develop on Linux even C#.
What you cannot do however is develop Winforms applications and run very specific MS applications (PowerBI for example).
|
|
|
|
|
Stefan de Zeeuw wrote: running on Linux for over 20 years now.
Stefan de Zeeuw wrote: Last month I changed my gaming machine from an old Intel system to a brand new AMD gaming monster.
Just take the SSD-drive from the old hardware and plug it in the new one and all is well. Try that with Windows.
Stefan de Zeeuw wrote: The next morning it still wasn't done updating.
Terrible experience with windows updates has become the norm.
Stefan de Zeeuw wrote: All this just to make clear that you can perfectly develop on Linux even C#.
Yep I write all my C# .NET Core on Ubuntu via VS Code. WebAPIs, console apps, and cross-platform (“winforms”) using Photino — see https://Photino.io & my article here on CP;
Photino: Open Source, Cross-Platform, Desktop Note-Taking App, via .NET Core[^]
|
|
|
|
|
I gave up on Windows (at home) many years ago. The wife uses a Mac and I mainly use Fedora WS. I keep a ChromeBox as an extended experiment. I don’t miss Microsoft stuff at all.
|
|
|
|
|
I've had an HP Microserver (with 24Tb of disk!) running Debian for 10 years now. It still runs just fine but, on the desktop, I use Windows 11 (without TPM because I hacked it when I was on the Insider program). I spend a lot of time using WSL and VScode with remote SSH editing of files on the Microserver and several Raspberry Pis.
I've also got a subscription to Microsoft 365 and 1Tb of Onedrive space. I haven't retired yet so still use Office and Windows at work.
I'm tempted to switch but the 2 application I sue for my hobby of 3D printing (Fusion 360 and Ultimaker Cura) don't have Linux versions and I've not sure my (obsolete) 3D Connections Space Explorer Spacemouse is supported under Linux.
If I knew I could run Fusion & Cura with the Spacemouse and use my Onedrive storage reliably, I'd switch.
|
|
|
|
|
The first version of Linux that I used was on floppy discs (Soft Landing Systems) on a 386 machine
in '92 (Kernel version less than 1)
Since 2009 I write SDR software (C++, Qt framework) on Linux, there was a question to have it
for Windows as well. So, using the excellent cross compilation facilities with M ingw64 on Fedora, I cross compile the software - and test is on a Windows box.
After a while I decided to run windows and Linux on the same development laptop, using dual boot.
I (almost) only use windows for testing my stuff. Someone complained about photoshop not running on Linux, I use gimp for that, use LibreOffice for office like things.
One thing I am missing on Linux and that is the photoprinter software that goed with the canon inkjet printer.
Once - just as an exercise - I installed mingw64 on Windows to be able to compile my applications
locally, but using the tool(chains) on Linux works for me much easier.
Interesting observation is that on average running the applications on Windows takes up to 5 times
more CPU power than running them on Linux.
While Qt has a "Qt-creator" I'm too old for that stuff so I am using a command window with manually
given commands. Vim is the editor, qmake and cmake are the makefile generators, always generate dusiting development with the sanitizer libraries linked in and - if needed - debug with gdb.
Applications are reasonably sized, somewhere between 40000 and 50000 lines of C++ and they support a varietyy of SDR devices.
I also wrote a few plugins for SDRuno, an SDR framework that only runs on Windows. The SDRuno used nana
for the GUI issues, so my plugins use it as well.
I had to surrender to Microsoft MSVC and while the plugins work, I really dislike the MSVC environment.
While the error messages are (more or less) reasonable, I really dislike the behaviour of the toolsset, it feels like a big brother that knows everythinh better than the programmer and is eager to take over control.
I use fedora, it offers by far the best cross compilation facility for windows. The only drawback of
using Fedora is the speed with which new releases are prepared: once per half year.
Updating to the newest version is rather simple though.
I use Ubuntu, always an older version, in a VM for creating AppImages (kind of containers for Unix)
of the applications.
With Windows I have problems (apart from using the MSVC)
a. whenever I am in a hurry, the system starts updating and shouts "do not switch off the computer"
b. The dependency of the different dll's, and the "user friendly" messages you get whenever
a required dll cannot be found. This inevitably leads to installers for the applications with way too many dll's in it.
c. The enormous amount of API's, not really a transparent set
|
|
|
|
|