I've been using Jetbrains Rider quite a bit recently, and it's been pretty damn awesome. It's free for students and educators, and is also free if you're only using it on open-source projects. There's a few other options too that could be worth checking. It runs on Windows, MacOS and Linux.
Azure.
Microsoft isn't doing this out of the goodness of their hearts. Windows lags behind Linux in the server space. Getting .NET on Linux opens up the doors for Azure services to an entirely new subset of businesses who would otherwise opt for PHP or something and traditional hosting. This explains Visual Studio Code as well.
https://azure.microsoft.com/en-us/blog/visual-studio-code-and-azure-app-service-a-perfect-fit/
This isn't a horrible "M$ is the devil" situation, because Azure is actually pretty damn amazing. But it's not a selfless gift to developers.
As a full time desktop Linux user, career .NET dev and hobbyist Unity3D dev.. I'd shit my pants and take back every mean thing I ever said if Microsoft ever ported full blown Visual Studio to run natively on Linux. I doubt that would ever happen though.. and it would definitely exclude any kind of desktop software.
Really keeping my eyes out for JetBrains' Project Rider in the meantime.
Note: not a complaint, just adding to the discussion
You can check the Speeding up ReSharper article for some tipps to fix slow downs. Especially disabling anti virus programs for the ReSharper cache improves performance a lot.
Besides that, you can also check out Rider, which has ReSharper as back end and IntelliJ as front end.
C# works absolutely fine under Linux. Mono is feature equivalent to .NET, and is present in practically every major distribution. You won't need to relearn anything, it's just code and go. All of the namespaces and bundled libraries are exactly the same on Linux. The only things you won't be able to do are Windows-specific APIs such as DirectShow, the registry, and P/Invoke with native Windows libraries (but P/Invoke with native Linux libraries works fine!). NuGet works without a hitch.
MonoDevelop is the primary IDE for Linux, and it's superficially similar to Visual Studio. However, there's a new kid on the block called Rider (https://www.jetbrains.com/rider/) made by JetBrains, which I use on a daily basis. It's still in EAP, but I think it's great - certainly better than MonoDevelop, that's for sure! It even has a Unity plugin, if you want to fiddle with that.
What you will not be able to use is any of the Microsoft UI toolkits, such as Windows.Forms (well, forms is partially supported, but it looks like arse) or WPF (no support at all). However, you can always use GTK, which is easy to use and works on Windows and Mac too.
I don't own a single Windows or Mac computer, and C# is my primary language. I'm completely satisfied with C# on Linux.
If you want to have a look at some code which has been written with Linux in mind, but also with support for Windows and Mac, check out one of my projects: https://github.com/Nihlus/Launchpad - it uses GTK, no Windows-only APIs and is tested across all three platforms.
I use Visual Studio Code for some light editing or small front end changes.
For larger project work, I tend to use Rider which I find a bit closer to the full VS experience on Mac.
FYI not affiliated in any way. Just passing on a recommendation I haven't seen mentioned here.
Try Jetbrains C# IDE. Rider!
https://www.jetbrains.com/rider/
Most of our team has made the switch. It's far from perfect but with large (100+ projects) solutions it's so so much better than VS.
We already know the price. Same as normal rider, the UE4 part will be an included extension of its functionality.
Source https://www.jetbrains.com/lp/rider-unreal/ see the first FAQ
Current pricing https://www.jetbrains.com/rider/buy/#personal?billing=yearly
140 for year 1, 110 for year 2 and then 83 for year 3 onwards. Also note they have perpetual callback licences after yiu have been subbed for 1 year or more https://sales.jetbrains.com/hc/en-gb/articles/207240845-What-is-perpetual-fallback-license
I have been using it and it's great.
> What I mean is with the whole Jetbrains vs VS debate is Jetbrains and VS both have community editions for free, but Jetbrains' can be used for commercial use and anything else, while Visual Studio's can't.
This is an absolutely wrong statement and I'm not sure how you still think it's the case if you'd read through my comment. The reality is exactly the opposite of what you just said:
You can use VS Community for free, even for commercial use unless you're both 1) an employee of a company that's 250+ employees or >$1M in revenue, and 2) who's using it to develop closed-source software.
There is no general Jetbrains Rider license for free for commercial use. There's not even one for hobbyist use. I listed the four main groups of people who can get the Jetbrains C# IDE for free in my last comment (but there are a few other, lesser relevant groups). There is no general purpose free license for the Jetbrains IDE that 'anyone' can use like there is for VS Community.
Maybe this will help. For simplicity's sake, this table only includes perpetual license purchases:
. | Individual open-source | Individual closed-source | Small company^1 | Large company^2 |
---|---|---|---|---|
Visual Studio | Free | Free | Free | $499^3 |
Jetbrains Rider | Free/$139^4 | $139^5 | $349^(5,6) | $349^5 |
^(1 - 250 employees or fewer and less than $1M yearly revenue)
^(2 - More than 250 employees or more than $1M yearly revenue)
^(3 - "Free" if the developer is working on an open-source project under an OSI-approved license, no approval by Microsoft necessary)
^(4 - Only free if approved by Jetbrains. Otherwise $139.)
^(5 - "Free" if the developer is working on an open-source project, approval by Jetbrains necessary)
^(6 - Can be discounted 50% for startup companies less than 3 years old with less than 10 developers)
Jet Brains Rider is what you need! It is in my opinion the best C# IDE for everything. It's so much better than Visual Studio. Give it a try!
> IDE for .NET development.
I can't speak to quality, but anyone who wants to develop C# for CLR/.NET Core should be aware of Jetbrains Rider IDE, which is commercial. And most potential MSVS users are probably aware of MS VS Code which runs on Linux and Mac, and can use Language Server Protocol to support arbitrary programming languages.
Substance Painter isn't free (though there is a free trial period), but it was a *huge* improvement over using Blender and some other traditional art tools for my texturing/mapping; particularly since I am not at all an artist.
Blender is still my modeling tool of choice, though.
I also really like JetBrains IDEs and use Rider for working in Unity, but that's mainly just a personal preference that I acquired in previous jobs.
You're comparing a glorified text editor with a full IDE. For real-life-sized programs, the text editor loses every time.
JetBrains makes all their IDE cross platform. They even have one for .NET now.
I think that my fear is not to the side of seeing GitHub fill up with banner ads: this is clearly something that Microsoft would not do (i.e. this is a bad monetization strategy and would ruin a good tool). I am speculating, but given that this is what Microsoft does to its operating system, it is not unreasonable to worry that we may see GitHub suggest Microsoft as a PaaS provider for some promo and/or certain kinds of integrations that provide features that work only with Microsoft products (but otherwise may be more powerful if other vendors could use those APIs). I hear that MSFT dogfoods Windows a lot, which I find strange, I suppose I don't represent all software engineers but I feel that I'd be very angry if someone suggested putting ads in the core OS file browser of all things... I doubt that people did not speak up about this and remain surprised that OS ads are actively shipping. I know developers don't want that, and seeing that kind of miss really turns a lot of folks off of things in the Microsoft ecosystem. While VS is awesome, in 2018 it is not awesome enough to warrant using an OS with ads. There are great alternatives out there.
Flocking off of GitHub at the current stage is silly, but people will leave if they smell this kind of thing happening. For a community that involves crazy people like me chanting "Stallman was right!", this is going to be a really tough sell.
Or you use Jetbrains Rider. IDE for C#, .NET development with cross platform support! Recently released and you get a full IDE (jetbrains like) + Resharper features. Even on linux or mac. Definitely try this out
And that is where Project Rider by Jetbrains hopefully close the gap to Java.
Currently it is still not production ready but I hope it will be soon, source to program.
Still I have not seen a better IDE than Visual Studio in combination with C#. Name me one and I will try it.
I hated monodevelop so much that I actually installed Windows on a secondary partition to use visual studio to edit Unity. That was until Jetbrains started previewing their c# IDE: https://www.jetbrains.com/rider/
You can only get it if you have a subscription but it is as good as the other Jetbrains releases already
I think that in the next five years, Visual Studio will be on Mac and Linux as first-class citizens.
Obviously, that's a long time, but Microsoft seem quite open to the idea of competitors stepping up, which is where I think JetBrains will step up with Project Rider.
Either way, VS on Mac/Linux won't be a direct port, nor should it be. I think the interface will be native for both, with Microsoft looking for the underlying functionality to be separated out enough so that they can be reusable across all platforms.
Ha I’m with you there. I do C# all day and Visual Studio for Mac is a joke. I’ve been fortunate enough to be working with the new .Net Standard stuff and since that can run right on MacOS it’s actually been easy to go Mac only. I have a Parallels machine for every once in a while, but don’t use it anymore. Visual Studio Code with the C# plugin is great, and Rider by JetBrains (https://www.jetbrains.com/rider/) is phenomenal.
I'd say check out https://www.jetbrains.com/rider/ I use it and really enjoy it - I mean I enjoy everything from jetbrains but thats a different story.
also intellisense is quicker than VS also.
Its not free but you can get a 30 day free trial
Visual studio is known to be heavy IDE even without plugins
You might want to give Rider a try, it is made by Jetbrains, so if you liked doing your Java stuff on IntelliJ, you'll absolutly love it https://www.jetbrains.com/rider/
It is based on Resharper backend, and it is really light / fast, so the reason for resharper being slow on Visual Studio is not on their side (this is my opinion, i'm probably wrong, but i tested both Rider and RS on VS..)
I was using Reshaper years ago when I was working on C# projects, I suggest trying Rider https://www.jetbrains.com/rider/ (I did not used it, I use the Ultimate edition but I did not checked C# support but since they are the ones that made ReSharper I assume Rider has the same features)
I'd skip VS Code and use Rider since it's in open beta now.
https://www.jetbrains.com/rider/
Great Unity integration already, includes ReSharper and a bunch of useful tools like memory allocation highlighting.
It has a lot less bugs, for example in Mono i often cannot copy/paste something without restarting.
Though Visual Studio also is not perfect. I mean who does not copy whole line with Ctrl+D also many other stuff missing out of the box. I think i just too used to work in my job with Jetbrain products.
Cant wait for them to release C# ide (https://www.jetbrains.com/rider/) the we will have proper IDE to work on!
People might be interested to know that Rider's next, early access version is available without a subscription, and I just checked, it supports the Godot plugin too, so I'd definitely recommend all to give Rider a try, because it's surprisingly competent editor that can help a lot:
Every product team makes its own choice about whether to offer a community edition, taking into consideration the market, the product position, the community, and tooling situation. At the moment, we aren’t considering a community version for Rider similar to IntelliJ IDEA or PyCharm. There are, however, some free and discounted complementary options available for Rider.
Jetbrains provides professional IDEs for a wide range of use cases. Most of them are free for students. As example, you said that you need an IDE for Unity coding, have a look at Rider
News at 11? I thought this already fairly well known, seeing as JetBrains already bumped into that issue because of Rider...
Regardless, between this dick move by MS and Oracle's new licensing scheme for Java, seems to me like the times of unrestricted access to enterprise grade dev platforms is over. This puts Google in a good position to swoop in and capitalize on that.
Check out JetBrains Rider. Its a C# IDE written by the company that created Intellij Idea and ReSharper. Its still in development, but looks exceptionally promising.
You could use Jetbrains Rider, it's made by Jetbrains which means it's based on the same codebase as Android Studio.
It's still in Beta tho, expect some bugs.
Edit: It also has an Unity Integration Plugin.
I don't know this ecosystem at all, but they seem to have a lot of tools about it: https://www.jetbrains.com/rider/
You could try the trial and invest if you like it.
I personally had a great experience with their Intellij (Scala), Pycharm (Python) and DataGrip (SQL), with community or pro paid by the company, both on Windows and Linux.
The difference between Objective-C and C# is that Windows, Mac and Linux are all tier-1 platforms for .NET Core - the same runtime supports works on all of them, there are binary releases for all the platforms and features are designed with cross-platform support in mind. Tooling-wise VS Code and the C# language server work on all of the platforms and JetBrains has a proper cross-platform IDE.
Compare this to Objective-C: As far as I know, you can't just download an Objective-C compiler for Windows or Linux, at least not an officially supported and/or up-to-date one. Objective-C doesn't really have a standard library, so it can't be used outside of macOS/iOS. The only IDEs for language only run on macOS (XCode and AppCode). No one really writes Objective-C for non-Apple platforms.
As for specific examples: Unity is the most popular game engine on the market by the number of users and released games, supports literally dozens of platforms and uses C# extensively. It uses Mono instead of .NET Core because of historical reasons, though.
I do web stuff in C# and .NET Core both on Windows and Linux. There really isn't much difference between them these days. Most libraries are targeting the lowest common denominator (.NET Standard), and are fully cross-platform. The whole tooling is (optionally) CLI-driven. You can use any editor with an LSP server, but I prefer JetBrains Rider. It has an EAP version, which is free to use and has proven to be pretty stable in my experience.
The profiler and test coverage currently don't work on Linux, but they are in the works.
Ever tried https://www.jetbrains.com/rider/ ? I think this is what you are looking for :) Cross-platform IDE by Jetbrains for .NET development. I guess support is quite ok, especially for .NET Core. I have tried an older version and everything worked for me.
https://github.com/DotNetAnalyzers/StyleCopAnalyzers is an option for Roslyn-based inspections, and it covers quite a few cases.
ReSharper, as you mentioned, is the go-to option, but since you don't want to use VS, what about https://www.jetbrains.com/rider/? It's like resharper, but its own IDE.
> No. Never. Visual Studio is too heavily tied to COM, WPF and the Win32 API. There's no way they'll port this to Mac OS X or Linux. It would require a complete rewrite, which is just not feasible on an economical standpoint.
PROJECT RIDER!!! WOO!!!
I've actually been using this since they added in Unit Testing, and highly recommend it.
They need to be somewhat careful with that approach though since JetBrains are making rapid progress on Rider a truly cross platform developer tool for .Net.
Also I like JetBrains tools a great deal, IntelliJ with the node/python/php/js plugins is hands down one of the best tools I've used since Delphi 6 for developer productivity and ridiculously cheap for what it is.
That said I like VS Code a great deal and for some things I use it over IntelliJ (it's markdown tools are excellent), nice that it's open source as well, the 'new' Microsoft is getting a lot right for me as a Linux user.
My understanding is that no EAP exists for released JetBrains products. The EAP page for Rider says:
"The Early Access Program is currently closed because Rider has been released.
Download a free 30-day trial of the current stable version and learn what was recently added to Rider."
Is there an alternative EAP program (e.g. for newer versions) or am I missing something (which I definitely could be!)
Hi there!
Initially, we only had one price, the standard price for organizations. In 2005 we introduced personal/individual pricing with heavy discounts. So it is not so much that our pricing for companies is much higher, but rather that we provide discounts for individuals. We do offer various volume discounts for our business customers, who incidentally constitute 80% of our customer base. We also have special offers for startups.
If you're doing it for fun and exploration, well why the hell not. It might even help you nail down the language's syntax. But if you're working professionally, you just can't spend time fixing/understanding syntax errors, when there are tools that immediately point to and even automatically fix syntax errors for you.
Regarding a C# IDE for Mac, look no further: https://www.jetbrains.com/rider/. I work professionally with C# daily and I've been using Rider (in favor of Visual Studio) for a few years now. For Mac and Linux, probably the best IDE in the market. For Windows, it's debatable. Many tend to favor Visual Studio. I personally prefer Rider.
Being so accustomed to IDEA and its panels, I really love Rider which is basically the C# variant (ReSharper without being crippled by VS - no, it's not the other way around). The only thing it's currently missing is a Xamarin UI previewer.
PostgreSQL is my go-to for both personal and professional projects, but any DB is fine nowadays.
>However, I understand that VS is not an option for you
God bless you being considerate. A lot of people just went the easy route and said "It's better you go with visual studio". It really is not an option for me. So, thank you for that.
>so you might wanna try JetBrains Rider
I have been recommended that before but I'm not a student. So it's also not an option.
Is visual code really that lacking though? Does it not at least have most of the visual studio's features and is similar at the same time? I mean, that's just logic dictating that for me.
(Disclaimer, I work for JetBrains)
Rider is a cross-platform C# IDE coming with a whole lot of inspections, that help you to avoid starter/common mistakes. It has ReSharper built-in, which some people mentioned here earlier. Rider is also free for students.
Do you mean Rider? ReSharper is a Visual Studio add-on that allows things like really quick refactoring operations, better prediction, suggestions on how to make your code cleaner (well, most of the time it makes it cleaner), etc.
ReSharper is really popular because of how much more productive it can make you. Rider isn't very popular from what I've seen. It's really hard to compete with a feature rich and well established IDE like Visual Studio.
I choosed for Rider, monodevelop kinda felt like 2004 and visual code ehm wasn't really usable. It's also works with the bash plugin. So I can script a launcher file from the IDE. It's not perfect yet tho, but its something xD.
VS2017 is easily one of the worst visual studio releases Ive had to work with so far. My solution for this has been to start using Project Rider instead https://www.jetbrains.com/rider/ - while it's not a perfect 1-1 mapping to visual studio it's certainly getting there and it is lightning fast in comparison to visual studio and contains almost all of the everyday stuff that I needed from VS.
Ubuntu usually has good third party support, so that's probably why it's commonly recommended.
I don't think you'll have any incompatibility with your laptop. The only thing is you'll probably want to install the Nvidia proprietary drivers.
For Ms office, I've used libre office even before using Linux.its done the job for me, both in school and out. Though I'm not a big user of it, just basic word documents.
For c#, an alternative to visual studio is jetbrains rider: https://www.jetbrains.com/rider/
It will let you do mono and .net core development. It's currently in EAP and missing some features (debugging .net core applications will require you to use vs code currently) but overall a solid product by the same people who created resharper. To install it, I recommend the jetbrains toolbox app, as it makes it simple and centralizes all their products. If you're a student you can get all their products for free too. Also, make sure you install mono-complete for mono, and also for .net core you'll need to install that: https://rider-support.jetbrains.com/hc/en-us/articles/207335749-Using-Project-Rider-under-Linux-prerequisites
For SQL server, Microsoft recently released it for Linux as an early release. I'd recommend switching to postgres, though, as that'll have better support. If all you want is to connect to a SQL server running on a Windows server over the network, dBeaver should be up for the job.
Project Rider in my opinion blows away MVS which makes me want to pull out my hair. MVS has horrible shortcut keys to do common things compared to rider and autocomplete is sooo annoying after having used IntelliJ for years. To autocomplete MyFavoriteNewClass in MVS I have to type "MyFav"... etc. to get it to try autocomplete my class name, in rider i can type "mfnc".
This is a good thing, but everyone should take note that this is not really a new product. This is a re-brand of Xamarin, which has been available on Mac for awhile. On that same note: Jetbrains is also doing good work with Rider in this area; https://www.jetbrains.com/rider/
I'm a dev who does a lot of work in C#, and I've exclusively used Mac's for years. I just think it's important for everyone to know they have options already. (btw, Visual Studio Code is awesome and I would recommend it over a full fledged swiss army knife IDE like VS).
I really do enjoy the language, currently waiting for Rider to come out so I can start using it properly. Much like Java, it's not a language you easily use with any text editor. It's kind of a pain to use it without a specialized IDE.
Therefore, on Linux, I still strongly prefer Python and C++.
Project Rider. It's in early access right now. I got an early build and it starts up waaaay faster than Visual Studio. Looking forward to exploring it more :)
Also, to build on that, try Visual Studio Code. It's written in TypeScript and has first-class support for it. I've used Code since v0.4.0 and I can't imagine working without it.
JetBrains Rider is still under development but it has the potential to be an amazing IDE that's cross platform I'd recommend checking it out, I've tried out a few versions of the early access and it easily competes with Xamarin. Also it supports debugging with unity ir you use project rider for unity plugin. It does still have some bugs and some features are not complete but for an early access IDE it's great.
Use the dotnet cli directly from terminal. That's all visual studio is doing behind the scenes.
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-add-package
Also, on linux, Rider from jetbrains is the bet dotnet IDE
Just put Rider on and am playing around with it. Slower start-up, but appears to be rock-solid. Forgot how much I miss ReSharper. The personal license appears to be pretty reasonable.
Rider now officially supports .net 6.
​
>Rider 2021.3 comes with official support for the .NET 6 SDK, including the Hot Reload feature. It brings a completely redesigned main toolbar and Debug tab, and a new Problems View tool window. Rider also supports more C# 10 features, like file-scoped namespaces and global using directives, to help you use the latest language capabilities more effectively.
>
>It also has updates for Unity and F# support, Reformat and Cleanup on save, XAML Preview for the .NET 6, .NET 5, and .NET Core 3.x SDKs, and support for Apple silicon chips.
Please check out Rider, it runs ARM native and allows you to run .NET 6 also ARM native.
They have an EAP program: https://www.jetbrains.com/rider/nextversion/ get the Apple Silicon version
I never looked back
I'm not exactly sure what you're asking, but I personally wouldn't use a CLI editor to write C# code.
Rider is one of the best cross-platform IDEs for .NET and offers feature parity with most Visual Studio features.
There are beta releases only for Rider, not for Rider for UE. Rider for UE should receive an update close to the 2021.3 release, probably at the end of November.
Yup, it's an IDE from JetBrains. They build some of the best IDE's out there and have invented the Kotlin language (it compiles to the Jave Virtual Machine or transpiles to javascript or wasm).
Yea, I really don't. I get why people like it but it is, in my experience, incredibly clunky and overbearing. I worked as a C# dev for a solid 4 years and I don't think I'd ever go back to it. Rider meaning Jetbrains Rider, https://www.jetbrains.com/rider/
Well, yes, x86 will not disappear ever. Like most things.
But, except games, I'm using 99% ARM software. One small unmaintained utility is x86 and https://www.jetbrains.com/rider/ is still on x86, but soon it will get an ARM release as new .NET previews are running on ARM.
Personally the only x86 hardware I will be buying is PS5 and later probably next gen consoles like PS6 and xBox One Series XSXX Pro.
For personal computers - maybe Intel and AMD will turn things around, but right now I can't justify spending money on x86 except for gaming machines.
As stated in the FAQ, Rider for UE will be merged into Rider when it's ready for the release, so you can just look at Rider pricing.
You absolutely can, but it won't be trivial. I highly recommend using JetBrains Rider as your IDE if you want to do serious C# development on Linux, and you will like others have said use either MAUI (microsofts own multiplatform UI lib, currently in preview) or Avalonia (Open source) as a framework to build it.
Unity is still using Framework, but they support .NET Standard 2.0 now.
Any external tooling you write should probably use .NET Core 3.1, with any code you want to share with Unity being in .NET Standard libraries.
As u/emats12 stated, .NET Framework is deprecated at this point and will only receive critical security updates; all future improvements and new features will be added to .NET Core/.NET.
Currently, .NET Core is on Long Term Support status while .NET 5 is not (.NET 6 will be), so it's generally better to stick with Core for now unless changing the runtime isn't an issue for you later. (.NET Core 3.1 will be supported for ~10 months longer than .NET 5)
As for the experience, Visual Studio on Windows is massively better than VSCode for C# work but a lot of people like Rider, which appears to have a Linux version.
After the release, UE support will become a part of main Rider: you can find prices and discounted options here: https://www.jetbrains.com/rider/buy/#discounts?billing=yearly Our product licenses are subscription-based with the perpetual fallback. Our licensing FAQ: https://sales.jetbrains.com/hc/en-gb
Preview license doesn't limit you in any way from the commercial usage, however we don't guarantee any quality of the preview builds. So that's why this is on your own risk.
Intellisense probably isn't going to suggest method (or Unity event callback) names. There's nothing particularly special about Awake
, Update
, OnGUI
, etc. Unity does some reflection magic to invoke them, but they aren't reserved keywords that would be detected by most code analyzers.
Rider does highlight those methods as being Unity event callbacks, but I don't remember offhand if it suggests them or not.
As far as I know, and I may be misunderstanding your question, there isn't anything special about Unity code that would require a distinct linter from plain old C# .Net code. The only thing that might warrant extra tooling might be the MonoBehaviour Event methods, since they are called via reflection and do not at first glance (to the compiler) appear to be related to Unity in any way.
That said, JetBrains Rider IDE is probably one of the best when it comes to cross platform IDE interaction/optimization with Unity. Rider does know about the aforementioned event methods and warns about computationally expensive code being called from oft-invoked events (like pathfinding or network calls being called every frame) and can be configured to, for example, see hints/warnings (including style faux pas) as errors.
Unfortunately, .Net has just started reaching into the Linux space with .Net Core (soon to be just .Net 5) and until the new stuff starts making it down the pipe to third parties like Unity, Linux will be treated as a second class citizen when it comes to development environments.
I'd say it's primarily a question of scope. PHP is more suited for smaller applications or perhaps some quick prototyping, while ASP.NET is more opinionated towards enterprise style coding and design patterns like MVC and principles like IoC.
A benefit of PHP is that its very easy to host and just upload a .php file somewhere and it "just works" in 99% of the case, while ASP.NET needs some more work (for example, its very common to set up nginx or Apache as a reverse proxy in front of an ASP.NET application).
The strength of ASP.NET comes partially from C# and the tooling around it. The language itself is very good and Visual Studio is a truly fantastic IDE for it. If you are on linux or mac, you could consider JetBrains Rider but it isn't free. ASP.NET comes with built in modules for routing, authentication and honestly pretty much anything else you can think of.
If you want to work with web dev, I recommend you check the local postings on any job hunting sites to see whats hot in your local area. .NET is huge where I live (Sweden) and PHP is near no job postings at all, while in another area it might be the opposite or maybe Node, or Ruby or Python... etc.
Rider from JetBrains is a great option and honestly it might be the only option. It's cross-platform, has plenty of features and is very fast. It also has ReSharper built into it, so you get all the benefits from R# as well. You can check out the link for all the info. If you want a full featured IDE, Rider is the way to go. If you just want a code editor, then VS Code works fine but obviously you won't have the functionality of an IDE.
It's not free, so keep that in mind. The subscriptions that are available aren't that expensive and you can also get a 30 day trial I believe.
I work for a large tech company - we just swapped to Rider away from Visual Studio/Code for C# projects, a massive improvement. I can't imagine a world where I'd ever switch back to VS, unless jetbrains mangles Rider.
If you need to do C# on Linux, check out JetBrains Rider. Made by the same people that make IntelliJ, so if you are familiar with that its very similar. By far the best IDE that is not Visual Studio for Windows.
A lot of people have been mentioning that you can’t use visual studio on Linux. Since you are a student, JetBrains Rider should work (and be free) for you . You kind of have to work in mono if your trying to develop a .NET core GUI, which is slightly different than what your course will be teaching. If this is really not an option, consider grabbing a $2 key of eBay and using that for a free-ish windows machine.
I have been running Windows with Bootcamp on different MacBooks for over 10 years, best PC I ever had! ;)
The only time it sucks is when I need to switch between Windows and Mac OS several times in a day.
Also, have you checked out JetBrains Rider? https://www.jetbrains.com/rider/
Write in whatever allows you to get the job done. I honestly prefer Notepad++ for almost everything, because am pleb who writes mostly python, but it works for me.
They matter because they offer different tools to make your life easier. Syntax highlighting, code completion, etc. An IDE can also help you identify errors, like a variable being used that hasn't been instantiated in the current scope. It's all about letting you focus more on writing functional code, and helping you identify issues and errors in your code with less effort.
I think Rider is what you're looking for: https://www.jetbrains.com/rider/features/
https://www.jetbrains.com/rider/buy/#personal?billing=yearly
If you pay for the Ultimate, then you get Resharper (plus a bunch of other useful tools). I use Rider both for work and also have a personal copy.
As others said, follow JetBrains performance recommendations. If that either doesn’t help enough or disables too many features, I’d say you have 2 options:
a) Replace ReSharper. I have a post about which extensions I used and what I still missed, maybe for you those trade-offs are worth it.
b) Use Rider instead of VS + R#. It’s what I switched to and I love it :)
This may be a dumb question, but you do know that .NET Core is cross-platform, right?
You can compile C# just fine on a Linux machine, (even a MacBook if you want to). It's completely fine and Microsoft is pouring an enormous amount of effort into .NET Core as compared to standard .NET. Its newest version, .NET Core 3.1, is pretty much up-to-date as far as standard .NET features are concerned.
If it's because you don't have access to Visual Studio, don't worry - get JetBrains Rider. It's their C# IDE, and I actually prefer it over Visual Studio.
I use Linux on all my machines, and C# (and Python for prototyping) is my most used language by far. Don't worry about it being clunky in Linux, it isn't.
.Net Core is being pretty widely adopted nowadays in industry. Microsoft essentially did a rewrite of .Net Framework and therefore has the opportunity to remove unused cruft, enforce better practices and speed up the libraries. The arch packages for it are dotnet-sdk
, dotnet-host
and dotnet-runtime
. That being said, your classes may still require you to use .Net Framework, which will require mono. Most of the time, it's not difficult to setup. Just point your editor to the right location of Mono and you'll be fine.
VSCode has the C# extension which uses omnisharp for linting. Compilation and running will likely be done via the command line. Rider by Jetbrains is well worth checking out. It's what I use for professional work and works like a charm. You should be able to get a student license for free with your school email without much hassle.
>C#: Wretchedly tied to Visual Studio. It's technically possible to program without it, but it's like pulling teeth.
Nonsense. VS Code and Rider both exist, and are almost trivial to start using instead of full VS. And if you're one of those people that hates any kind of integration at all, you can still script MSBUILD, it's no more difficult than Makefiles are.
VS Code è un ottimo editor di testo, ma non un IDE vero e proprio. Unity arriva già con MonoDevelop, ma se vuoi un consiglio, per qualsiasi linguaggio tu stia usando, usa gli IDE di JetBrains.
Visto che andrai a usare C# ti consiglio Rider. https://www.jetbrains.com/rider/buy/#discounts
Ci sono mille modi per usarlo gratuitamente. Ti consiglio di metterti in contatto con il GDG o qualche altra grande community della tua città. Solitamente distribuiscono licenze jetbrains agli eventi.
I am a .NET developer.
.NET Framework with Visual Studio (or an alternative editor) is not possible in Linux. I will tell you to avoid mono for enterprise development, because you will start with a thousand papercuts if the project has never been compiled using mono.
.NET Core it is possible with Visual Studio Code or Rider as a full IDE. However you have to find out if the dependencies of the projects you are working on are multiplatform and work on Linux. Even SQL Server is multiplatform, although you have to do a bit of plumbing. A huge red flag is when projects use reporting software like SAP products or PowerBI.
I'm also a Linux user since more than a decade ago, but I cannot use it at work because the company not only depends on Windows software, but also their projects are very tight to a Windows environment. My project only has 1 dependency on Windows, but it's crucial and to change it requires approval from the client and the team because it's a product that's already on production. A buddy of mine is lucky that his environment is entirely on Visual Studio Code because that's how the project started. So he switches between Linux and Windows.
Perhaps have a look at Rider? https://www.jetbrains.com/rider/
It's an alternative to VS by Jetbrains and it works crossplatform. It's not free, you need to get a subscription from them to use the software.
> Since .NET Core/5 isn't as advanced as Framework for now
Given the popularity of making .NET Framework code portable to .NET Core, in order to run on cheap Linux instances among other things, you should absolutely think of it as an investment, not a sacrifice.
> That would be a pain. How do you work ?
I use Linux all the time, and on the odd-but-recent occasion where I care to compile for Win32, I cross-built it on Linux. I've found the cross-building to be surprisingly quite painless.
I'm primarily a user of a straight text editor plus external tooling, but on Linux you can also use VSCode and Code::Blocks and any of JetBrains' IDEs, including the C# one, Rider.
If it's the full suite he wants, there are modern alternatives right?
https://www.jetbrains.com/rider/
In fact, it's much more feature rich
https://www.jetbrains.com/rider/compare/rider-vs-visual-studio/
If you want a Linux/Mac alternative to Visual Studio, consider Rider by JetBrains (same devs as Resharper and IntelliJ). I use both frequently and I'm actually leaning towards prefering Rider these days...
If you're talking .NET, Microsoft is already putting a lot of effort into making development for it on Linux quite workable. Visual Studio Code (which has nothing to do with Visual Studio) uses Omnisharp extensively to give you Intellisense. Furthermore, all new tools from Microsoft can be launched from the command line, like dotnet and dotnet ef. Soon you won't need the UI sugar that Visual Studio gives you. If you're stuck on .NET 4.X then you're already on Windows anyways.
For years you've been able to use Monodevelop. Last time I checked it worked quite well on Ubuntu and it seems to still be actively maintained.
JetBrains already offers a cross-platform IDE for .NET called Rider which is probably the way to go if you're serious about using an IDE on Linux, although it's pricey.
If you're looking for a C++ IDE, then as other people mentioned, Linux has tons of IDEs for C++. Do you intend to write games with Visual Studio? You're better off sticking to Windows because Proton has pretty much killed native Linux gaming development.
What are you looking to use Visual Studio for?
Thanks for your feedback, I'm glad to hear our experience is somewhat similar with yours.
​
As for the tooling, we have been using Rider for quite a while now, and the majority of the team is really enjoying the experience compared to VS for Mac.
JetBrains has Rider which works as Linux IDE environment for Xamarin (and .NET Core) https://www.jetbrains.com/rider/
VSCode would probably work also, though I don't know how clean the process would be; Visual Studio (Windows) and Visual Studio (Mac) has fairly honed linkup and debugging experience for mobile.
The debugger and profiling is a bit inferior imho. But it’s good enough. I still mostly use visual studio code. Visual studio for Mac is actually a rebrand of Xamarin Studio.
If you use dotnet core exclusively, developing on OS X is totally fine.
There’s also https://www.jetbrains.com/rider/ if you use resharper with visual studio. It’s the only way to get resharper running on OS X afaik.
I think the only downside is not having visual studio. However JetBrains has Rider which is a fantastic IDE.
I have noticed a few inconsistencies between the Linux and Windows implementations, but otherwise for the vast majority of cases, everything works great.
​
Note that .net does not support GUI development on non-windows platforms. However for server applications it works exceptionally well.
Get Rider. You probably already use ReSharper, and it's about the same price. You can also do .NET Core development for Linux on Linux if you like. Visual Studio has only branched out to macOS so far. JetBrains IDEs also have modern text editing, don't seem to freak out when a file changes externally, and don't take an hour to upgrade after a minor version bump.
.NET Core and .NET Framework are implementations of the .NET Standard and are mostly the same, especially at a beginner level.
You shouldn't really have problems writing and executing the exact same lines of code that isn't platform specific (mainly Windows-only UI frameworks like UWP, WPF and WinForms).
I learned C# very recently and learned most of it on .NET Core only, but using Visual Studio on Windows. I've tried VS Code and other IDEs (or glorified text editors) in the past and nothing could come close to the convenience of using VS.
However, I understand that VS is not an option for you, so you might wanna try JetBrains Rider, for which JetBrains offers free student licenses for non-commercial usage.
The dotnet CLI is sometimes enough for a basic project, since C# error messages are a thousand times more helpful than other languages like C++.
I'ts possible. You could try to set up a LAMA Stack (Linux, Apache, MySQL, ASP.NET Core 2) with this small tutorial. As IDE you could use JetBrains Rider or VS Code.
You know microsoft is pushing there web technologies universally now. Maybe a late move but ASP.net core and IIS run on linux. You can also set ASP.net core to run as a cgi on nginx or apache. Visual Studio doesn't (yet) but visual code does plus you can use JetBrains Rider if you want to dev on linux.
If you don't wanna spend the money and you already used your trial you can also download the EAP version for free. Only downside is that there's not always one available (like right now).
I don't know how the integration works, but it should be noted that there's a version of Microsoft Visual Studio Code for Linux. It's an open-source IDE front-end in ECMAscript/Electron, but it's not a complete toolchain like MSVS.
There's also the Jetbrains Rider IDE for C#. Jetbrains is the company formerly known as IntelliJ, who have separate versions of their commercial IDE for different languages. All are available on Linux, of course!
There is probably no "go-to IDE" for Mac just yet, but if you liked ReSharper, I can recommend you to check out Rider, which is based on ReSharper, but with a different front-end. It also has a dedicated Unity plugin.