Why Startups Hate .NET and C#

  Рет қаралды 238,977

Nick Chapsas

Nick Chapsas

8 ай бұрын

Use code DOCKER15 and get 15% off the brand new Docker course on Dometrain: dometrain.com/course/from-zer...
Become a Patreon and get source code access: / nickchapsas
Hello, everybody, I'm Nick, and in this video, I will go over some claims that .NET and C# are not popular among startups. There is certainly truth to that but I would like to investigate why.
The post on Reddit: / why_isnt_dotnet_core_p...
Subscribe to Dan: @danclarkeuk
Workshops: bit.ly/nickworkshops
Don't forget to comment, like and subscribe :)
Social Media:
Follow me on GitHub: bit.ly/ChapsasGitHub
Follow me on Twitter: bit.ly/ChapsasTwitter
Connect on LinkedIn: bit.ly/ChapsasLinkedIn
Keep coding merch: keepcoding.shop
#csharp #dotnet

Пікірлер: 1 100
@bscamba
@bscamba 8 ай бұрын
Two things I don't understand in tech: 1 - the love for Javascript 2 - the hate for C#/.NET
@kinggrizzly13
@kinggrizzly13 8 ай бұрын
When my frontend developer told me he rather use typescript instead of javascript, he became from friend.
@fusedqyou
@fusedqyou 8 ай бұрын
@@kinggrizzly13 The only reason why people use Javascript is because they have not tried Typescript yet.
@monarch73
@monarch73 8 ай бұрын
@@kinggrizzly13 That does not make any sense. typescript is a language, that transpiles into javascript....you can't have typescript without javascript
@gnanaitvara1246
@gnanaitvara1246 8 ай бұрын
One is/was a well structured language which (in the right hands) enforces clarity through syntax and semantics, the other is a mess of anonymous methods and hidden magic. One is now trying to be the other. C++ is calling.
@monarch73
@monarch73 8 ай бұрын
I generaly don't understand the love for any loosely typed language. I had to work with php in the past and I hated it.... Strongly typed languages are so much better because they help preventing erros from happening during runtime because of stupid typos.
@ARumGremlin
@ARumGremlin 8 ай бұрын
"For the love of God, there are F# developers and all five of them love F#". Haha.
@FrederickMarcoux
@FrederickMarcoux 8 ай бұрын
Caught me off guard too haha
@privatesocialhandle
@privatesocialhandle 8 ай бұрын
I really feel bad for F# to be honest haha.
@zariumsheridan3488
@zariumsheridan3488 8 ай бұрын
Yeah that was a good one )))
@Oyyou
@Oyyou 8 ай бұрын
That got me good
@abdelrahmandwedar
@abdelrahmandwedar 8 ай бұрын
😂😂😂 Lol!
@darrencook7168
@darrencook7168 8 ай бұрын
My takeaway from this video: there needs to be a support group for the five F# devs.
@IsraelQuiroz
@IsraelQuiroz 8 ай бұрын
hahahaha that one line killed me 1 of the 5 F# devs sitting there like why am i catching strays out here?
@kj2w
@kj2w 8 ай бұрын
That cracked me up. "For the love of God, there is f# developers and all 5 of them love f# and nobody can tell them anything about it"
@taylorkoepp3048
@taylorkoepp3048 8 ай бұрын
Must be four now as I was keen once but haven't coded in it for a while.
@tullochgorum6323
@tullochgorum6323 8 ай бұрын
If C# deserves more love, it's even more true of F#. Much the most practical of the MLs, and the MLs are much the most practical functional languages for real-world work. And it's not even restricted to numerical computing - read Scott Wlaschin's wonderful book "Domain Modelling Made Functional" if you need convincing. It's one of the best programming books I've ever read and you'll learn a lot from it whatever paradigm you favour.
@drewknab8149
@drewknab8149 8 ай бұрын
@@IsraelQuiroz I actually said this out loud to no one in particular.
@reiku3348
@reiku3348 8 ай бұрын
As an F# developer I feel attacked. We have a 6th developer now! Get with it old man!
@PublicVoidFoo
@PublicVoidFoo 8 ай бұрын
There are literally half a dozen of us
@piotrj333
@piotrj333 8 ай бұрын
Still more then Haskell developers.
@taylorswe
@taylorswe 8 ай бұрын
Hey! I've tried f# in the past and I love it! Where are the best communities to join so I can use it more?
@ricardomonge2769
@ricardomonge2769 8 ай бұрын
@@taylorswe They are trolling, it's all a myth like fairy dust. Everyone knows F# developers don't actually exist.
@thecollector6746
@thecollector6746 8 ай бұрын
@@piotrj333 Underappreciated comment.
@sarahkatherine8458
@sarahkatherine8458 8 ай бұрын
Some of the reasons they hate .NET and C# that I have heard are: - Anti-Microsoft bias (linux good, open-source good, windows bad, microsoft bad) - Not cross-platform and/or closed source (apparently some people still live in 2012) - "C/C++ C# is hard, Python is easy" - "C# is the language of the past, now eveyone use Python" In 2022 I attended a Job Fair at my previous university. One of the interviewer told me ".NET is for windows desktop app only, you can't create website with it.", and he still didn't believe me even after I showed him the web app I made for my father's clinic.
@Azzarrel
@Azzarrel 8 ай бұрын
You already named it, but I think a major reason why C# has never taken off, is that Microsoft has shot themselves in the foot by limiting .Net to Windows with their flagship programming language being mocked as "Microsoft Java". I haven't been around for so long and originally swapped from Java, but if I compare earlier .Net Framework Versions vs Java there isn't really enough incentive to switch if you are already familiar with Java and have your codebase written in it. Sure, C# was born from a desire to improve Java - and having worked with both languages, I think Microsoft succeeded there, but out-competing a still valid programming language in an already established leading position is tough. C# really started out-performing Java with .Net Core and made massive leaps with .Net now, but the stigma is still there, as is the believe that .Net is Windows only. Another reason for me is that Microsoft is and was quite experimental with no real plan for the future. If you look at front end frameworks Microsoft offer different shades of XAML with WPF, Xamarin, MAUI and UWP (which seems to be discontinued in favour of MAUI) - not to forget Windows Forms is still around, too. It is hard to tell what frameworks are going to be pushed in the future and which will be discontinued. Looking how Unity and Godot are still stuck with Mono and C# 8 (although Unitiy has other problems right now), it should be easy to see how Microsoft has taken suboptimal decisions in the past, that haven't been fully mitigated yet. Asp.Net is nice, because it is basically the only backend framework offered by Microsoft directly.
@flarebear5346
@flarebear5346 8 ай бұрын
Let's be honest here, csharp is as cross platform as swift. Why use csharp when all it's going to do is force you to use different stacks for windows, web and linux? There are many easier option nowadays.
@MaidenLoaf
@MaidenLoaf 8 ай бұрын
​​@@flarebear5346but C# and .NET Core / .NET 5+ are all cross platform and the .NET backend is open source nowadays. You can use exactly the same stack for frontend and backend if you want to do so with it. I worked on .NET / C# backends running on Linux / kubernetes for a couple of years before I left that place for a better paying position. It was actually pretty nice to work with.
@attribute-4677
@attribute-4677 8 ай бұрын
I learned Python as my first language like 20 years ago, and then C++ and C#. It’s weird seeing “snake basic” make a return 🙄
@QuAzI_NODE
@QuAzI_NODE 8 ай бұрын
@@flarebear5346 so when I can use MAUI in Linux?
@valera924
@valera924 8 ай бұрын
What I really love in C# is LINQ. This is absolutely brilliant in balance between magic and transparency. I think people in other languages don't like C# because they don't realize how awesome LINQ is.
@jimmymac601
@jimmymac601 8 ай бұрын
It is an absolute piece of shit and is woefully inefficient.
@andyfitz1992
@andyfitz1992 8 ай бұрын
That and as you learn more about the ecosystem and lower level keywords and structs you can write 'faster' code than standard linq, but linq is a fantastic functional-code library to get beginners and startups stood up!
@MaidenLoaf
@MaidenLoaf 8 ай бұрын
​​@@andyfitz199299% of the time developer performance and code maintainability trumps code performance. If you can get better code performance without much effort, great, but usually companies want you to produce more faster, not take time to optimise performance unless it's critical. This is where LINQ really shines. You CAN write more performant code but when you don't have to LINQ is just easier to maintain.
@blackknight2368
@blackknight2368 8 ай бұрын
you also have this feature in other languages. so it doesn't stand out
@valera924
@valera924 8 ай бұрын
@@blackknight2368 there is a nuance. When you have sex with your boyfriend you both have a dick inside you. But there is a nuance. Same for linq-ish implementations in other languages. There is a nuance
@marianf25
@marianf25 8 ай бұрын
I founded a startup and I love .Net .. In fact I went all in with .Net and Blazor. In the past 2 years it already proved to be the best choice. So much time saved and less headaches. I can't imagine building the whole thing with javascript. Yes, js is probably much easier to write on the short term, but on the long run it would've taken us over double the time and we would still have runtime bugs and a mess as the project grows. Even compared to .Net backend (or other language) and js frontend, we estimate we were still 25% faster with .Net and Blazor.
@PankajNikam
@PankajNikam 8 ай бұрын
I have been running a startup which is based on C# and .NET for past 6 years, and it works as fine as anything battletested :)
@TheHassoun9
@TheHassoun9 8 ай бұрын
Are you hiring for. Net, blazor?
@marianf25
@marianf25 8 ай бұрын
@@TheHassoun9 Already had. Currently not, but for sure as the company grows, all development positions will work with Blazor. It's important to mention that we don't necessarily require a lot of experience with Blazor, as we believe that knowing C# well and having previously worked with a SPA framework is enough to learn Blazor with the team in a record time.
@BeepBoop2221
@BeepBoop2221 8 ай бұрын
I hear that blazor is quit slow is that the case?
@tancyew
@tancyew 8 ай бұрын
@@BeepBoop2221 blazor WASM yes atm due to not having true multithreading support just async/await, blazor server works wonders
@Kwpolska
@Kwpolska 8 ай бұрын
“9 out of 10 startups will fail, the money is elsewhere is in the established companies” is the most important takeaway from this video (and one I fully agree with).
@paulie-g
@paulie-g 8 ай бұрын
No way are you getting paid as much competing with every Java/C# monkey out there in enterprise as you do in start-ups flush with VC cash. Start-up died? Just find another. And the serious money is in equity. That is, if you're good enough that start-ups want to give you a sizable amount of options. What enterprise is good for is stable employment for mid coders who can go home at 5pm and don't have to own the responsibility of success or failure. All this "enterprise" nonsense is just cope from people who wish they could hack building something exciting and significant.
@Kwpolska
@Kwpolska 8 ай бұрын
@@paulie-g You can also build significant software when working for an enterprise company. It might not be the next Facebook or Uber, but do I really want to contribute to the next cesspool or worker exploitation platform? I will happily take less money, but still good money, if no VC nonsense is involved. How are the VC-funded crypto/NFT startups doing these days? I also prefer hard cash over stocks that may or may not have value in the future, and I do like going home at 5pm instead of overworking myself to death.
@paulie-g
@paulie-g 8 ай бұрын
@@Kwpolska Can? Yes. Likely to? No. Some overwhelming percentage of coders working in enterprise will forever work on badly implemented (because the customer is captive so there is no incentive) business software to do mundane business things in the mundane business. Crypto start-ups are a negligible (and not even the most questionable) sliver of the landscape. Options is having the chance - not a certainty, but a chance - to make f-off money. They're not given instead of compensation, they're given in addition to it. And they're not a lottery ticket - if you're good enough, you choose the start-ups you work for based primarily on how much you believe in the business case, and you have a lot to do with the success if you're in the first five-ten employees.
@omgwat
@omgwat 7 ай бұрын
@@paulie-g nailed it but no one wants to hear this
@paulie-g
@paulie-g 7 ай бұрын
@@omgwat People always want to believe sh-t that makes them feel good about themselves and their past choices, particularly if said choices are hard or impossible to reverse.
@RogueNinjaCreative
@RogueNinjaCreative 19 күн бұрын
Many years ago I created my first application (for a previous employer) on a .NET Core backend with a Vue.js front-end. First time using C# and it made me a better programmer after years of PHP and Javascript. That employer was on a Microsoft ecosystem and I had concerns considering that I work on macOS, but other than a few missing features in Visual Studio (compared to the Windows version) I had no issues. I learned a lot! I'm now using Rust and have learned even more. I love them both and came to seriously dislike JS and PHP, although I hear PHP has come a long way since that time, and Vue/Nuxt 3 are very beautiful frameworks to work with.
@ThaWolloW
@ThaWolloW 8 ай бұрын
My degree actually focused on C# and .NET which was a big plus for me since I really like the eco system and language. And I find it easier to learn other languages with C# being my first programming language. :)
@eevyl1337
@eevyl1337 8 ай бұрын
My first language was C++ (terrible choice, never do that). It was all fun until it wasn't (pointer arithmetics, templates, memory leaks..). But now i can learn new language or whatever technology in like 1-2 weeks of hard work (except rust, yikes).
@kcvinu
@kcvinu 7 ай бұрын
@@eevyl1337 Agree with you in the case of Rust.
@auroraRealms
@auroraRealms 7 ай бұрын
I started with C. Today when people ask me what language I am writing code in, I say "The language due jour". Currently that would be Lua, JavaScript, Python, GDscript, C++, and Bash, sprinkled with a little CSS and HTML.
@victoralmanzar1273
@victoralmanzar1273 7 ай бұрын
WGU SWE C# Track?
@evancombs5159
@evancombs5159 8 ай бұрын
I think the root of C# not being chosen by startups is a strong anti-microsoft bias. A lot of that bias comes from Silicon Valley being the hub for most startups. A secondary reason is due to .Net Framework's lack of cross platform support, and many people outside of C# circles not knowing the latest versions of .Net work on Linux.
@native-nature-video
@native-nature-video 8 ай бұрын
@@rcherrycoke7322 what about SQL Server for Linux? Is it as good as .net core?
@johnnyblue4799
@johnnyblue4799 8 ай бұрын
@@rcherrycoke7322 That's what he said.
@ricardogriffith9384
@ricardogriffith9384 8 ай бұрын
.NET Core has been cross platform for years.
@berry212
@berry212 8 ай бұрын
​@@ricardogriffith9384the same people don't know that core 2 comes after framework 4.8
@silkfire
@silkfire 8 ай бұрын
@@rcherrycoke7322 Called simply .NET since .NET 5 (November 2020)
@raphaelmt1706
@raphaelmt1706 8 ай бұрын
In my experience .NET and C# really shine when your codebase grows larger and you have a lot of reused code. Scripting languages are designed to make stuff work faster but when the codebase grows it becomes a mess faster too.
@pascalmartin1891
@pascalmartin1891 7 ай бұрын
Java has that same reputation, as have most OOP compiled languages. But it is not a given: I have seen a major Java development become a convoluted horror, in part because of badly controlled multi threaded designs. Not to mention that startups are in a hurry, and long term is a luxury they cannot afford: they have no revenue yet and most fail. So Python is more attractive.
@NihongoWakannai
@NihongoWakannai 4 ай бұрын
​@@pascalmartin1891 of course it's not a given, you still need to make sound and reasonable architecutral decisions, no programming language can make the decisions for you. But dynamic languages are guaranteed to become a nightmare at scale even if you make the right choices.
@DhruvRed
@DhruvRed 3 ай бұрын
@@NihongoWakannainightmare to debug dynamically typed languages
@gnanaitvara1246
@gnanaitvara1246 8 ай бұрын
I disagree with the notion that c# is not a starter language. To me it really is almost the ideal starter language. It hides the "headache" of pointers and memory management while still teaching that variables require system resources, computation can require threading etc. A mental benchmark which may be helpful is to take any language and imagine how difficult it would be to go from language X to C/C++, if it seems an insurmountable task then language X (or rather its tool chain) is probably hiding vast swathes of things from the programmer.
@s1nistr433
@s1nistr433 8 ай бұрын
C# wasn't my first language but I don't think it would be a bad first language to learn You can make almost anything with it in some way and it also teaches you tons of things most other language omit, like if you learn Python as your first language you're probably not gonna learn OOP-first programming, or class modifiers, extension methods, etc. You spend a bit more time learning but it pays off in the long-term
@acasualviewer5861
@acasualviewer5861 8 ай бұрын
@@s1nistr433 python is also more seemless for beginners but still allows you to practice modern techniques such as vectorization with ease.
@katamas832
@katamas832 8 ай бұрын
​@@s1nistr433I learned C# first and let me tell you, it is a beautiful language to start out with. Visual Studio handles the compliling very easily, and you can just start messing around in a console application so easily since you can just start writing stuff in program.cs. It was so easy to use and learn with, and it is my favorite language.
@NihongoWakannai
@NihongoWakannai 4 ай бұрын
I feel like something really simple like python is good for absolute beginners just to learn what a variable even is, how logic flows through a program etc. But I think C# is great as a first language to learn actual programming.
@heeerrresjonny
@heeerrresjonny 2 ай бұрын
While I think someone can find it straightforward to get going with C# and avoid the headaches of other languages, I think C# has too much "magic" behind the scenes that can lead new developers to develop incorrect understandings of how things are working, as well as some poor habits that would be barriers to them using other languages. I think this is why Java is still popular in CS education. It avoids the memory management stuff, but has a lot less "magic" to it such that by default you have a better overall picture of what a system is doing.
@privatesocialhandle
@privatesocialhandle 8 ай бұрын
Yes, please make a video about the bad things about OOP and how to avoid them. Also here are my opinion on the topic: (which are mentioned in the vid) 1. Legacy education: most if not all universities and colleges choose C and C++ as their low-level language of choice and Java as their high-level of choice. C and C++ are obvious. Java in the other hand you ask, why not C#? There is a lot to say here from the ecosystem of each at the time, who owns the techs, etc. 2. Open-source: open-source 100% changed people's perspective about .NET, even when not enough to make a decision to switch over, people don't look at it the same way (whether dislike, hate, disagreement, etc.) This open-source mentality of Microsoft not only empowered .NET from a C# or developer perspective, but also from IT perspective in PowerShell. But change takes a LONG time. 3. Website vs web application: I think this js extremely important, there are significantly way ore websites than web applications, even in our modern day when the term "web applications" covers a variety of web resources. And what do you use for websites? JavaScript. Even in the front-end side of things, web applications are built on JS at the core, which brings ALL the JS related tech that C# wasn't part of until Razor which is very very recent considering the time tech needs to age before it makes a market shift. I may not be on point in some if my argument, but oh well, feel feee enlighten me!
@R0MUl0
@R0MUl0 8 ай бұрын
The biggest problem with OOP is: Encapsulation is mostly a lie in most projects. Tons of side effects everywhere... And doing it right, is not simple. This is the biggest, in my view. If you take real attention to encapsulation, you inevitably notice when you are abusing inheritance, etc.
@JasonKaler
@JasonKaler 8 ай бұрын
"how to avoid them" - step 1: learn OOP instead of using and OO language without OO
@privatesocialhandle
@privatesocialhandle 8 ай бұрын
@@JasonKaler Makes sense. I still think OOP is "generally" good. Having a structural approach to thing is almost is always good (unless really messed principles were used) which I don't think OOP falls under that.
@TheMSKGC
@TheMSKGC 8 ай бұрын
in my uni, they taught us both java and C# , though java was 3rd year and C# was 4th and ever since I got into C# i cant stomach java for some reason.
@kennichdendenn
@kennichdendenn 8 ай бұрын
Enlightenment incoming: "choosing both low and high level languages from microsoft" aint entirely accurate to my knowledge. Neither C nor C++ are made by Microsoft - while they do make one compiler (MSVC), there is a public standard implemented by several independent compilers.
@scrm3377
@scrm3377 8 ай бұрын
My perception is that the majority of places using C# also use the whole Microsoft ecosystem, which means Windows. Sure, you can work on other platforms, but momentum matters.
@brianmouton2472
@brianmouton2472 8 ай бұрын
Not entirely true. .NET Core works well enough on Linux so it's not much of a lift to build a web app, containerize it and send it to a Linux based Kubernetes.
@keyser456
@keyser456 7 ай бұрын
I think that was true maybe 5-10 years ago. There has been a shift away from Microsoft, even by people who have been in the MS stack their entire lives, myself included. It was self-inflicted by Microsoft. They were practically begging their developers to shift away from their own OS, and thusly, all their enterprise stuff targeting their OS.
@macobuzi
@macobuzi 7 ай бұрын
I am a C# developer and I constantly deploy my .Net core app on Linux machines without any problem. Many outsiders don't know the existence of Net Core and have no idea how powerful and versatile it is which is a shame, Dot Net Core deserves more recognition!
@omegabit
@omegabit 20 күн бұрын
Our entire stack is .Net with a SPA TS framework, and we develop on Windows, Mac, and deploy to containers on Linux.
@eldonad
@eldonad 12 күн бұрын
Having Linux support is nice, but lack of mobile support is tough. That's the reason most game engines still uses the old .NET runtime and Mono everywhere else, which is fine most of the time, but has some gaps in the implementation which are very annoying (like in networking). Maybe mobile support will be added eventually, but until then I wouldn't call C# truly cross platform.
@user-zk5ym9ut1j
@user-zk5ym9ut1j 8 ай бұрын
Because C# holds image of enterprise language like Java. That's all
@thebitterbeginning
@thebitterbeginning 8 ай бұрын
I started writing JavaScript for a company back around 1998. It has come a long way but still...I cringe thinking about writing large applications in it. As with all things in tech...OOP has some good concepts that can save you time and headache. Functional programming also has some good concepts that can save you time and headache. Every discipline or methodology or tool has something it offers. I've never understood how people choose just one and stick to it religiously and apply it in EVERY situation they can. Use each tool (or at least the concepts wrapped by the tool) as it fits best in whatever situation you are in (while always considering the requirements of course). I've never been a purist in anything tech; everything has trade-offs.
@shosetsuninja3112
@shosetsuninja3112 8 ай бұрын
I use C# for work and it's a joy to use if you can drop framework and just use the latest version. I'm considering it for the backend for an app I'm going to build.
@Kevin_Long
@Kevin_Long 6 ай бұрын
I'm now in my 50's, I've been working on .Net since it's inception and SQL Server since 6.5. I say this not to sound arrogant in any way but just to put things into perspective, I was a Microsoft fanboy and still am to a certain extent. My wife left her company 10 yrs ago to start a hardware business for ourselves. 8 yrs in she was making enough financially for me to leave my job and join her. We needed to start writing internal software to automate tedious manual processes because we were actually doing more business. I wrote every thing PHP. I'm not talking about the little PHP script kiddie code but proper maintainable software that can grow. I hired some really good PHP developers, we wrote our own framework and couldn't be happier, the dev, test, deploy lifecycle is just much faster for some reason. Oh yes, and we have Traits, just saying. 😂😂. Anyway, use what you are productive in, and that's it, the whole language debate is a waste of time. Keep on coding. 🤘🤘😎😎
@badartagar9705
@badartagar9705 10 күн бұрын
VERY RIGHT: "use what you are productive in, and that's it, the whole language debate is a waste of time"
@mealloc
@mealloc 8 ай бұрын
I’ve worked exclusively in companies that use dotnet and other Microsoft technologies/services until my last employer which mostly use nodejs. This is all anecdotal but what c-digs said reflect my own experience. My Coworkers who are not from a dotnet background still believe that it’s closed source and that it can’t run on multiple OS. I’ve heard the “OOP is bad but Functional is good” dogma from them and it felt like they learned that from school and not from experience. Bad code is bad and neither OOP nor FP promote bad code. It’s the dev who decided to create 4 level of inheritance when it wasn’t necessary who is making the bad code. It didn’t even click with me that I was already writing most of my dotnet code in functional patterns until my coworkers and I started having friendly arguments about OOP vs FP. Despite that they framed their criticism toward dotnet, with my experience with both dotnet and nodejs I realized that the criticism they had was more about coding patterns that they assumed dotnet wasn’t supporting. Mutation is bad? Yeah it is! Just avoid writing a mutation in c#, pass them as an arguments. This something I’ve always preferred to do for years.
@verzivull
@verzivull 8 ай бұрын
An interview questions will be kinda triky in order to determine how experienced you are. With C# there will be a lot more tricky questions. Closure, try/catch in combination with tasks, garbage collector with allocations in stack/heap, dispose, finalize and using, especially with streams, different types of pipelines for a web. LINQ has been introduced in C# as far as I know, so all the fuss around it will be there too. I think these are hard to comprehend in comparison to analog situations in other languages.
@sirkato7751
@sirkato7751 8 ай бұрын
I think one thing is that most universities teach java.
@sergeybenzenko6629
@sergeybenzenko6629 8 ай бұрын
Fsharpers (all 5 of them) are REALLY pissed right now.
@the-niker
@the-niker 8 ай бұрын
It's the same argument as the company with recent submarine implosion. Startups tend to hire young dynamic diverse teams without much experience, because it's so much cheaper than experienced workforce. Until the project implodes under all the incompetence.
@BeepBoop2221
@BeepBoop2221 8 ай бұрын
I would argue less on "diverse" more the young part, they don't know how much their labour is worth and they are less likely to challenge a superior. A seasoned engineer would have told the sub guy off. In fact one did and they fired him.
@the-niker
@the-niker 8 ай бұрын
@@BeepBoop2221No hate on diversity but that's what the sumbarine company said in an interview before the disaster if I remember right. Just quoting ;)
@BeepBoop2221
@BeepBoop2221 8 ай бұрын
@@the-niker it's more they know they will keep quiet to avoid getting fired.
@Christobanistan
@Christobanistan 2 ай бұрын
@@BeepBoop2221Heheh, well in their case, they were so obsessed with young and diverse for publicity's sake that they ignored older engineers who would have saved them.
@claylenhart
@claylenhart 8 ай бұрын
C# is rarely the best language. C# is always a good language. It’s best to have as little to learn tech-wise (use those brain cells to learn the domain instead) so pick one language (C#) so you can get on with it. C# is fast (but not the fastest like rust). C# is concise (but not the most concise like Ruby). Imperfection is better than perfection (perfect in one area)
@sarunas8002
@sarunas8002 8 ай бұрын
.NET is not popular in startups, because the learning curve is higher. People that startups attract are smart but do not have a lot of time or do not see any incentive to learn a more powerful language, that can express more complex business rules. Startups do not have complex domains. App has to be reliable and scale, but it does not deal with a lot of business complexity. Writing ERP for managing insurance claims for a multinational organization is quite different than an app that submits posts and comments, and shows it in a thread.
@edgeofsanitysevensix
@edgeofsanitysevensix 8 ай бұрын
I love C# and it's my main go to language for anything I create. But I do think it's not popular enough amoung younger developers simply because C# does not get the exposure at Uni or in 'learn to be a developer' courses, as they all seem to use JavaScript/Python etc. It's only when the education sector/private education companies pick up C# as their language of choice will we see it being adopted more. Also C# seems to be more for backend/service work than JavaScript so new learners tend to gravitate towards building a frontend, then they realise they also need a backend and become a bit stuck.
@KadenCartwright
@KadenCartwright 8 ай бұрын
A large part of why startups dislike c# is that startups tend to have a certain scrappy kind of engineering culture and approach to development that the average C# developer would be pretty significantly at odds with. In short, most c# devs would not fit into the culture of most startups imo
@Nworthholf
@Nworthholf 8 ай бұрын
As an enterprise developer, I had a very bizzare experience with a startup indeed. We had a very, very fundamental disagreement between "think first" and "code first" approaches.
@specex
@specex 6 ай бұрын
I'd agree with that. This "new age" project management crap annoys me to no end. How about let's just write some code and make it happen?
@BrickBazooka
@BrickBazooka 4 ай бұрын
could anybody elaborate a bit more what's the point here.please?
@eugene3685
@eugene3685 8 ай бұрын
C# is brilliant. People friendly, mature language and environment, good fits for low and high level abstraction code (e.g. pointers, async/await), don't limit you no matter what programing paradigm you use, new features appear fester then you grow (important for newcomers :))
@kunichiyawa1660
@kunichiyawa1660 8 ай бұрын
​@@D9ID9Igood thing we have variety of ways and options on what we can use, don't we?
@eugene3685
@eugene3685 8 ай бұрын
@@D9ID9I What's the problem with sugar?
@bvboi
@bvboi 8 ай бұрын
Been using C# for a decade and I love it.
@luisreis3202
@luisreis3202 8 ай бұрын
As someone said there is a lot of misinformation about Microsoft. A lot of things changed at this company. I am not a professional programmer but Visual Studio and C# are my preferences by far.
@RickTheClipper
@RickTheClipper 8 ай бұрын
They hate C# until they understand that they miss the broadest base of developers. All those other tools exist in 1,000 different variants, change is the normal and if the freak that started the project leaves the company they will have a hard time to find a replacement
@CistiC0987
@CistiC0987 8 ай бұрын
Who hates C#? Only a really stupid person or a newbie would really hate a tool like that. If companies prefer other languages like JavaScript that doesn't mean they hate it. They surely should take decisions according to much more meaningful reasons than lizard-brain primitive emotions, no? I don't use a shovel daily, does that mean I hate it?
@GiantsOnTheHorizon
@GiantsOnTheHorizon 8 ай бұрын
OMG, that’s so true!!
@tarsala1995
@tarsala1995 8 ай бұрын
Other parts: 1. Strong typing is more demanding for new joiners - not like Javascript or Python 2. Memory management concepts people need to know - GC, class and struct differences etc. 3. Steeper tech learning curve to get in: .NET/.NET Standard/.NET Core/ .NET Framework/ C#. No junior will answer what is the difference 4. Language complexity: C# got many features in recent years. It might be frustrating to new joiners to keep checking what are the differences (lets say between `!= null` `!(x is null)` `is not null` `!= default` and why you cannot do `is not default`)
@gnanaitvara1246
@gnanaitvara1246 8 ай бұрын
Agree, personally I think c# is getting too wide and deep in its feature base, some (not all) of the new features are very good though with the compiler implementing the leg work for them via IL. They could still have been done explicitly with the language itself five years ago, though I suppose the implementation speed would be lower.
@alanbourke4069
@alanbourke4069 8 ай бұрын
Who worries about memory management in C# ?
@xfy123
@xfy123 8 ай бұрын
​@@alanbourke4069You still have to worry about memory management, garbage collector isn't a magic thing that automatically knows what to remove.
@tarsala1995
@tarsala1995 8 ай бұрын
@@alanbourke4069 Recruiters at least
@artemartem842
@artemartem842 8 ай бұрын
​@@alanbourke4069interviewers apparently and the other party when have to optimize poorly written things.
@eherlitz
@eherlitz 8 ай бұрын
In northern Europe, this is driven by the universities where Microsoft technologies are often viewed with repulsion and are often considered as an evil cyber imperialistic death star organization. These younglings often promote application construction with tools like Node, "which is so simple to put everything together", not understanding that change management and the ability to maintain applications is one of the most critical aspects of system engineering. And in the end, poorly written systems will cost more than properly coded ones ever will. I've only been in the business for 25 years, but as far as I can tell, Java and MS applications are the ones who survive. I am not saying all other languages are bad, but the project culture among the developers utilizing them is often questionable from a maintainability perspective.
@praetor47
@praetor47 8 ай бұрын
"In northern Europe, this is driven by the universities where Microsoft technologies are often viewed with repulsion and are often considered as an evil cyber imperialistic death star organization." why am i not surprised...
@MirkoVukusic
@MirkoVukusic 8 ай бұрын
Im not a youngster, doing this over 30 years and I also think MS is evil imperialistic company :) Well, not only MS... try Google, Apple,... In my opinion that atmosphere in schools is good. Its a shame we have primary schools here that dont even mention alternatives to Office365, Teams, Windows. Kids don't know what opensource is. Im so happy yhat eventually they figure it out themselves oitside of school.Or they end up completely dependant on thos bigtech companies and i.e. spend 3 years developing their forst game only to get racked by Unity :)
@SergLapin
@SergLapin 7 ай бұрын
Rewrote the whole control plane from C to .NET, running on ARM Linux. Came out very stable and well structured.
@larsp5109
@larsp5109 8 ай бұрын
Without the intention to be generalizing, this is just my personal experience with a lot of frontend JS developers I’ve come across in my daily work and that is that they ain’t trained as a software engineer and that shows in how they program and go about solving problems. It’s a whole different world they live in and find concepts of OOP difficult to get their heads around and find the concepts of c# difficult to understand and are therefor reluctant to start with c#, even though we expect our developers to be t-shaped in backend and frontend tech. Again, just my personal experience.
@Nworthholf
@Nworthholf 8 ай бұрын
Js (or any dynamically typed language really) should never be used as the first language, its that simple
@paulie-g
@paulie-g 8 ай бұрын
Javascript is *way* more like the progenitor of OOP, Smalltalk, than C# is. Besides, people with a real CS education like things like Haskell, OCaml or Scheme/Lisp. JS developers are cluetards, yes, but not because they don't know about GoF patterns - it's not that they can't get their heads around OOP, it's that they can't get their heads around why OOP onanists continue to argue over the right pattern to use and the inheritance hierarchy while they've already written the code for MVP and are iterating quickly towards release.
@Nworthholf
@Nworthholf 8 ай бұрын
@@paulie-g its not about OOP at all. Its not even about patterns per se - it just allows and sometimes reinforces bad behaviors that lead to janky unmaintainable code. And I mainly mean types there. TS is simply superior is every damn single aspect.
@paulie-g
@paulie-g 8 ай бұрын
@@Nworthholf I know very few people who still write vanilla JS. TS is super clunky, but JS is so broken that there's no choice really. OP was claiming JS/TS devs are cluetards, which happens to be true, but not for the reason OP claims. If OP's competence bar is modern pseudo-OOP (which is insane), JS as a prototype-based language is much closer to genuine historical OOP (as in Smalltalk) than C#.
@drrodopszin
@drrodopszin 8 ай бұрын
It's vice versa. I started with C#, got good at it and I hated the half learned JS. Then I learned it well, and became pragmatic user of the language: I work with simple things that work, no forced OOP, no forced FP. People coming from those philosophies do so many unnecessary steps to avoid theoretical problems.
@klaesregis7487
@klaesregis7487 8 ай бұрын
I used to not like C# because of MS indeed. During my masters degree I had to use it; working with the XNA game development kit, Mono and later Unity it changed my mind. Now it is my preferred language and I use it a lot in e.g. Godot. For my day job I still use a lot of Java. I really don't like JavaScript, but that's more because I hate web development, and to a lesser degree dynamically typed languages.
@auroraRealms
@auroraRealms 7 ай бұрын
I think that OOP is not bad. What is costly and hard to mantain is ORM, and anything related to Object Data Classes. Dictionaries and JSON are most likely the way data is transfered accross the Internet (unless it is XML). Why convert the data into something else? Why not just handle the data in the format it is in. ORM is strongly incoraged in Java, and .NET took on the same attitude along with hyping up LINQ, so that people will use SQL Server for data storage. Great for marketing, not great for perfomance, maintinance, price, and Project Life Cycle. Why not just store data in NoSQL, like MongoDB or Elastic Search? So OOP for organization of code. JSON and Dictionaries for all data handling. Seems too simple to be a solution, but it is incredibily effective. So as far as .NET and C#, are concerned, wrangling the the platform to fit with Docker, NGNIX, and Linux seems like lot of unnecessary work.
@minciNashu
@minciNashu 8 ай бұрын
I've noticed that people don't seem aware that NET is cross platform. You're not tied to Windows. You can develop and run NET outside of Windows.
@antnauman
@antnauman 8 ай бұрын
Since I started working on .NET Core 6 APIs, I find it very comfortable to work with other technologies too. I can create APIs and work with React on the front end, have any DB at the backend, and with NET and C# I can implement very flexible and structured and strong server side which can scale up easily. Not sure why would I choose any other platform for APIs.
@antosha2224
@antosha2224 8 ай бұрын
​@@D9ID9I its a lie. node js is 1 thread shit. how it can scale more proper than multithreading async c# model? omg node js comunity ful of stupid idi0ts
@jpmcic
@jpmcic 8 ай бұрын
ROFL - best quote of the day... "There are F# developers and ALL 5 of them LOVE F# ..."
@ChristianHowell
@ChristianHowell 8 ай бұрын
They don't know what they're missing... C# has allowed me to solve crazy problems...
@TurntableTV
@TurntableTV 8 ай бұрын
Great video, Nick! Speaking of "why do people don't start programming with C#" - one of the reasons is that the (good) beginner courses tend to be paywalled. Yes, there are resources here and there but they lack the in-depth explanations for concepts. Most of them are "just do that and that and bam! you have an app". I would love to see a good course just like Bob Tabor did in the past.
@ImLasu
@ImLasu 8 ай бұрын
Also because everything is paywalled at Microsoft so there is lack of ppl that make free tutorials, so when you would like to use some free stuff like DB there are high chance that all help you will get will be about MS DB and only about it.
@garylee867
@garylee867 8 ай бұрын
I think another very big problem is: The advantages of C# are mostly about productivity IMO(and sadly it is not very well known), which is something kind of subjective and may not be very tangible and critical to business. For example, JS/TS and Go are well suited to serverless applications (at least before the AOT ecosystem is mature). Python is pretty much the only choice when you play with AI. Java has a larger supply for developers. Those are something that drive companies towards those languages.
@huray9802
@huray9802 7 ай бұрын
The C# debugger is still closed source, and you can write C# only on VS and VSC. Language ecosystem (LSP, debugger, profiler and other tools) should be available for porting in every editor (neovim for example). It could be like Google's Go, but Microsoft wants to make money from C# by charging for the ecosystem (and other "smart" vendor-locking-to-azure ways), which is ok for them, and ok for us to not prefer as well
@astrahcat1212
@astrahcat1212 6 ай бұрын
I think Microsoft just got a bad name from forced updates and trying to force most users to be online to use Windows and supporting Digital ID, so after that, people don't like them.
@chris4321das
@chris4321das 4 ай бұрын
WHAT are you talking about?? You're still stuck in 2004 .NET 1.1!
@Nworthholf
@Nworthholf 8 ай бұрын
Imo, JS has to be outright banned as the language for beginners. It is a very dangerous (conceptually) tool that makes many people develop a very specific programming approach that effectively prevents them from being able to use any other language and in general becoming engineers rather than coders.
@schulz5patrick
@schulz5patrick 6 ай бұрын
I learned a LOT of different things (VB, C, C++, Java, C# [Framework, Core, [Xamarin, MAUI]], HTML, CSS, JS/Typescript, PHP, Python, Lua, ABAP, Haskell, Assembly, Bash, Batch, SQL, Kotlin, Objective-C and even creating an own compiler, thats everything I learned for AT LEAST months that came in mind) Thats a lot, but the only thing that kept me going is .NET/C# and my current (and first) company is primarily focused on C# It is up to yourself which programming/script language is suited best for yourself, but be open to any language some other likes and uses. Everything has their own use case to shine and thrive. Acceptance.
@HelixClovers
@HelixClovers 8 ай бұрын
I started with C# and thought it was very easy to start with. Our school was teaching Matlab, which I hated, and later I did some classes in python - which was easy to learn, but harder to scale. Ultimately, I stick with C# because it scales much, much better for large programs, and is way faster than most options out there.
@JonitoFischer
@JonitoFischer 8 ай бұрын
Maybe you didn't get the point of Matlab, which is doing computational programming accesible for scientists and engineers. C# is not for calculations of convolutions and FFTs, or design of digital filters.
@JoseAlvarez-dl3hm
@JoseAlvarez-dl3hm 6 ай бұрын
@@JonitoFischer C# can do everything that matlab does. Matlab is dead, if you want to do scientific programming you just use python nowaydays.
@Osirus1156
@Osirus1156 8 ай бұрын
I think they also had a huge problem with naming and in the last couple of years not being able to make up their minds on how configurations work really confused a lot of people.
@expertreviews1112
@expertreviews1112 8 ай бұрын
Nick, you diagnose heap allocations in Rider.. Mostly in ur case, it's a console app, however if I have an Api and I do that say for strings, I see large number of strings like say 50k, the diff columns shows new ones but if I double click it loads all 50k with no filtering options... If I want to find which are the new allocations, I can't. Also unlike VS 2022, it doesn't show where they're coming from in the code... any suggestions??? thnx in advance
@alexU42k
@alexU42k 8 ай бұрын
Only a startup developers here, he-he
@Matt23488
@Matt23488 8 ай бұрын
Honestly? I think a lot of it has to do with where startups come from these days. It is becoming less and less required to have a degree as bootcamp programs become more and more prevalent. One of my friends who has a degree in French/English teaching recently went through a bootcamp and immediately got hired at a startup who were scouting specifically these kinds of programs. And I think the reason is because they need to get going fast. College doesn't do a great job at teaching you *what you need to know* for the current job market, although you will have a strong background and it won't be as difficult to learn. But bootcamps are focused on the current trends like ReactJS, NextJS, etc. I think maybe if Blazor were more prevalent, we could see .NET becoming more viable for bootcamps. But it's not, and that's not likely to change.
@proosee
@proosee 8 ай бұрын
Of course it all depends, but startups tends to evolve quickly and changes are sometime radical, so using the same language for FE and BE gives you that flexibility. For example, in 2023 I'd rather go for node with tRPC for a startup knowing that my API will change a lot over time, rather than dealing with constant DTO changing or using some code generation which might be fragile. Yes, you can always use C# on frontend and you have similar benefits, but I would argue that toolset and community is not as rich there as it is in JS/TS frontend community.
@tanglesites
@tanglesites 8 ай бұрын
I love C#. It is a beautiful language. It is fast, it is backed by a large corportation (aka Microsoft), it has a very well founded framework .NET Core. As a student, I do not have a lot of use cases for C#, but when I am graduated and have the extra time to work on larger projects, C# will be my goto. As a side note, I wanted to use C# to build my website and blog, but my hosting provider did not except C#. And I am weary of the Azure buisness model.
@RealEngineer
@RealEngineer 8 ай бұрын
My first language was c# and that has served me good since.
@dmitryborovych9135
@dmitryborovych9135 8 ай бұрын
Video about OOP negative points from your personal perspective would be really nice to watch!
@ghaf222
@ghaf222 8 ай бұрын
When I tell people I develop in C# I do get the feeling that they assume .NET Framework, and possibly don’t realise that .NET is fully cross platform. I always have to drop that into the conversation to check they know that.
@earlh
@earlh 8 ай бұрын
While .NET and C# are free and open source the ecosystem still favors Windows if you are not writing a web application. Also, Microsoft has prioritized Windows and Visual Studio when it comes to features. It has happened that a new C# .NET feature would come to Windows first and to other platforms later. It's things like these that keep devs away. Why take the risk of Microsoft doing a rug pull? Wouldn't be the first time they do that, would it? Honestly, I would move to Python if that wouldn't make me less employable due to my work history being dominated by Azure and C# .NET.
@omegabit
@omegabit 20 күн бұрын
None of this is true, nor has been true, for years. I'm mystified by the statement "features come to windows first and to other platforms later". No, just no. And who in their right mind would use Visual Studio to do dotnet development nowadays? VSCode is a vastly better ecosystem to work in than that legacy crap.
@VeNoM0619
@VeNoM0619 7 ай бұрын
It needs mentioning, that "Popular" doesn't mean preferred or better. A lot of these surveys ask if you 'use' these languages. Sure, you can use some of these, doesn't mean you enjoy it.
@andrew4x4au666
@andrew4x4au666 6 ай бұрын
I'm in an enterprise and have recently moved teams after 10+ years on a .net only team. The team I work with now are more python (which I love ) and java/javascript. We have a few open defects in our ecosystem that could be resolved with proven examples in .net, but it's really difficult to get these guys to actually consider it. It's a work in progress to demo the power of C# to these guys, but I'm hoping to open their eyes a bit more to what it can do.
@r00tyschannel52
@r00tyschannel52 8 ай бұрын
In my experience, startups are indeed often made up of younger people, and they are generally freshly following the latest trend. As someone a bit older who has been in the idealogical fresh tech phase of my life already, I think it's great for personal projects. But I'd beware not using an established platform for a business project because the trends change, and you can find yourself struggling to recruit people for yesterday's favourite tech stack. But for the established platforms, there are always resources available (for the right price).
@BrandonClapp
@BrandonClapp 8 ай бұрын
There's a lot of truth in this!
@BrandonClapp
@BrandonClapp 8 ай бұрын
I understand that it's an older language and framework, but writing something like Go is sooo much verbose and I don't feel nearly as productive with it. I've worked in both .NET and Go professionally for years and feel like I can achieve my end goals much quicker with .NET. Maybe it's familiarity, but I don't think .NET gets nearly enough credit for having some solid and reliable libraries. I would love to see a comparison between Java and .NET.
@kunichiyawa1660
@kunichiyawa1660 8 ай бұрын
Doesn't matter. Startups can develop on top of JavaScript but OGs in enterprise-level apps know that C family as well as Java are the real deal in the long run.
@jeisuxco
@jeisuxco 8 ай бұрын
C# was my starter language and is and always be my favorite. I understand the hate because i felt the same when i first started working with it. But that's because of Microsoft reputation and i hope eventually people realize how good dotnet ecosystem is
@Blu3Souls
@Blu3Souls 8 ай бұрын
What I notice a lot in companies that use C# is that they seem stuck in very old C# versions. They are using .Net Framework 4.x or .Net Core 3.x. Even if they are using ".Net" they are rarely on the latest LTS version. This has nothing to do with startups directly but maybe that disturbs the mindset of startups as most companies end up stuck in an old version.
@DevMeloy
@DevMeloy 8 ай бұрын
This is typically true when an application has been around for 10+ years, most startups aren't worried about tomorrow when they have to face the problems of today. My company's main application still runs on 4.7.2, with no real plans on migrating to a newer version.
@SvdSinner
@SvdSinner 8 ай бұрын
That's universal, not just a C# issue. Corporations tend to stick to whatever platform they first built apps in. There is a common (but false) belief that not upgrading your framework is the safest path.
@DevMeloy
@DevMeloy 8 ай бұрын
@@SvdSinner It has more to do with the fact that converting a large application is far more difficult than a simple app. We have thousands of files and thousands of customers... each asking for a new feature, management is far more concerned with customer churn than the latest framework. Although, this is short sighted... eventually something bad will happen which is usually followed by a customer exodus.
@SvdSinner
@SvdSinner 8 ай бұрын
@michaelm106 Agreed. Our main application is also still running 4.7.2 as well, but luckily, we have started writing its replacement in .NET 7. As I always remind management, NOT updating is just as risky as updating.
@TheMonk72
@TheMonk72 8 ай бұрын
For large apps this migrating to a new runtime can be a pain, but it's worth the effort to get access to the new features. It also opens up a hell of a lot of new packages, which can be very useful.
@Picike85
@Picike85 8 ай бұрын
I'm working for the second startup in Scotland both use C# and . NET. :)
@jamescharnley2522
@jamescharnley2522 8 ай бұрын
Most people I have spoken to just seem to think C# is a difficult language and quite a lot of them think it can only be used for Windows applications. I think a lot of people over estimate the difficulty of C# because it is often associated with C++. I was surprised when I heard you say most universities teach JS and Python as the primary languages, if that is true then it is very concerning. I just graduated from university (software engineering) earlier this year and it was primarily C++ with a few papers that included JS (only for webdev), Lua and Swift. I don't think Python was ever even spoken of apart from when my lecturer for an AI paper said it is unfortunate that Python is so commonly used for AI because it is not very suitable for large scale applications. I am not a fan of JS and Python because I don't like languages that are simplified and don't have moderately strict syntax, they are just to easy to make mistakes that the language doesn't actually consider a mistake. Languages that have strict syntax and data type declarations just look so much nicer and more organized and easy to read. The only think I can think of that I like about JS is that you can make a function return different datatypes, but you can also do that with TypeScript which I would definitely prefer over JS.
@dawizze1
@dawizze1 8 ай бұрын
I think the biggest thing is that Java is almost exclusively taught at all university cs programs. I went to an engineering focused university and it was c++ for the majority if not all classes. I don't think I've ever heard of someone's curriculum teaching c# at school.
@TheSpacecraftX
@TheSpacecraftX 8 ай бұрын
My university was mostly C# and I hear similar stories from most of my colleagues. My locations I’ve works are Scotland and the north of England. It might be an artefact of UK academia or even down to the region though.
@dawizze1
@dawizze1 8 ай бұрын
@@TheSpacecraftX US here.
@ghaf222
@ghaf222 8 ай бұрын
My university taught Java, and I used my spare time to learn C#. I don’t understand why anyone would use Java, but perhaps this is just me showing the same ignorance people show towards C# and .NET?
@xfy123
@xfy123 8 ай бұрын
​@@ghaf222tbh java is still big in the database side, oracle still makes servers that exclusively run java apps and their db faster then the standard x86cpu.
@shimadabr
@shimadabr 8 ай бұрын
@@ghaf222 Java is still more used than C# (more job security, more online help, more books), has more tooling choices, the JVM is very mature and has many languages that run on it (Clojure, Scala, Kotlin), it's more linux friendly (but C# is not far behind) and many multi-billion dollar companies rely on it's ecosystem and have a financial interest in it and it's success. Also, it's not much worse than C# for many applications. Many people and companies will not bother to switch to get an incremental improvement.
@_Karlsson
@_Karlsson 8 ай бұрын
OOP is a good thing for most. The same problem as previous points apply, that legacy code dealt badly with OOP which produced enterprise monoliths that could never ever change. Microsoft inherits its own history, and it keeps coming back to bite them no matter how much they improve.
@paulie-g
@paulie-g 8 ай бұрын
"Good OOP" is like "good Marxism". It should in theory exist, lots of people spent a huge amount of time theorycrafting it, but no one can show it to me and every time I point at OOP code being terrible, people tell me "they did it wrong". As a historical note, "modern OOP" is broken because it is about objects. It was not meant to be that way, it was a naming snafu. Smalltalk was about message passing and objects were really more like actors. And Smalltalk was, indeed, very nice. It was just killed by the absurd costs of tooling and now that we have the VM technology and fast hardware to run it well, no one has been left alive to care besides some French dudes in academia. Of the modern spiritual successors, Erlang is nice too (minus the syntax).
@_Karlsson
@_Karlsson 8 ай бұрын
@@paulie-g OOP is just using data and templating reusably, nothing else. Some practices use bad types of inheritance trees and such to achieve it, which makes many shoot themselves in everyones feet.
@astrahcat1212
@astrahcat1212 8 ай бұрын
Microsoft's problem is their insistence on required authentication and cloud services as they try to march through to a utopian future where your data isn't physically located in your local physical space. Just a future of power and control. Don't say something they don't like, in the future maybe you just so happen to get locked out of your accounts. 😑
@KodingKuma
@KodingKuma 8 ай бұрын
I don't understand why people don't like C# either. To me, it's fastest to develop in this stack,. it's the fastest running language in the top 5. It can code just almost anything, with Maui now days. It also has a huge community and Microsoft themselves to support it. You don't even need visual studio. You can learn the cli and just create everything using VS code. The language will run on anything. And if you want to lock it in a single runtime, just containerize it and you'll be good to go for ages. I don't get it. When a company scale with traffic, they will come to know that they should have gotten C# in the first place. Especially when startup development time is soooo low.
@Christobanistan
@Christobanistan 2 ай бұрын
Maui doesn't do Linux.
@KodingKuma
@KodingKuma 2 ай бұрын
@@Christobanistan , you can't win it all.
@McZsh
@McZsh 8 ай бұрын
The problem lies squarely with the venture capitalists involved in start ups. They constantly choose short-term coolness over long-term viability. Picking what is considered a "business language" would be detrimental. That said, Microsoft really needs to revisit and step up its ecosystem. No official first class graphics lib, no first-class PDF support. And possibly, they might introduce a compiler switch so that we can forget about all those extralines with curly braces.
@hyrr092
@hyrr092 8 ай бұрын
1. Many still think .NET is tied to Windows. 2. Startup founders (often not techies but investors) think working with javascript on both FE and BE will make them iterate faster requiring ONLY fullstack devs. 3. Startup highly depends on the current hype. Years ago, it was Node. Nowadays it's Python. Tomorrow maybe .NET ? During my years of software engineering as a freelancer working for some startups, I often conclude that most of them had NO IDEA about the choice they've made at MVP stage and they engage me years after to solve those problems that could have easily been avoided if they had think about the future just a couple of minutes... The truth is hard to admit but no one cares about software engineering principles. No one cares about .NET, Node or Java. They just want to get money as fast as possible. They require you to spend hours sharpening your skills for their tech interviews but when you're engaged, you'll code dummies endpoint like any developer on earth. No magic.
@Lena-yt3yl
@Lena-yt3yl 8 ай бұрын
1. It is, while it can technically run on linux, linux useres are clearly second if not third class citizens
@marioprawirosudiro7301
@marioprawirosudiro7301 8 ай бұрын
@@Lena-yt3ylNot technically. It runs, period. Stop it with this misinformation. Also, the reason why linux users feel like second-class citizens is because they themselves aren't trying to improve the tooling. Someone mentioned MAUI, but both C# and .NET are opensource. What's stopping anyone from creating a true cross-platform alternative to MAUI? A Vulkan to Microsoft's DirectX, so to speak? Nothing.
@Lena-yt3yl
@Lena-yt3yl 8 ай бұрын
@@marioprawirosudiro7301 the power of open-source is impressive, but i cant "just write maui" there are things like avalonia, but as long as microsoft bundles things like timers with WPF and some file operations with WinForms it's very wired what breaks and requires odd workarounds. And there is already a LOT of work put in like the creation of the Mono-Runtime, from scratch.
@MaximilienNoal
@MaximilienNoal 8 ай бұрын
Because until now there was no NET 8,the fastest release yet. 🎉
@jazzweather
@jazzweather 7 ай бұрын
If C# is taught at college level, it will increase it’s usage in startups
@olinzknihytovi
@olinzknihytovi 8 ай бұрын
I work at a Czech company with $1 billion revenue, and we're using C# for BE and React for FE across the entire company.
@PatrikBergsten
@PatrikBergsten 8 ай бұрын
Yes, I’d love to see a video on what you hate about OOP
@marsgal42
@marsgal42 8 ай бұрын
I recently did a project with C# and MAUI. My impression was industrial-strength tools to solve industrial-scale problems. I know people do big things with JavaScript but it doesn’t feel the same, somehow. Flavour-of-the-month is a big thing. So is the what you already know factor: not everybody wants to invest in the learning curve for new technology.
@GdeVseSvobodnyeNiki
@GdeVseSvobodnyeNiki 8 ай бұрын
I recently tried to start MAUI hybrid app last week. Wasn't even able to scaffold it. Missing project template, errors during compilation of empty project. Fuck this shit. I switched to electronjs, works like a charm. Have no regrets about it.
@marsgal42
@marsgal42 8 ай бұрын
@@GdeVseSvobodnyeNiki MAUI can be tricky to set up, especially if you're using VS Code instead of Visual Studio. Once you have it set up it works fine.
@RogueTravel
@RogueTravel 8 ай бұрын
Good luck with MAUI, noobs
@NextProgrammer
@NextProgrammer 8 ай бұрын
MAUI the new silverlight
@dungimon1912
@dungimon1912 8 ай бұрын
The start up I work in uses aspnet 7 and it’s been a pleasure!
@yatsuk
@yatsuk 8 ай бұрын
Can I ask another question? What programming languages students study in universities? In my time and my country we had pascal and delphi in majority of universities. And can you image, 80% of software around was written on delphi.
@gnanaitvara1246
@gnanaitvara1246 8 ай бұрын
Having a hobby of reversing older software every so often, there is a surprising amount of old Delphi software floating about. We did Java and C in uni around the turn of the millennium.
@petrmalecik5661
@petrmalecik5661 8 ай бұрын
Well I started university in 2016 graduated 2019. We started with C and also with LISP (for functional programming classes) in my second year we moved to Java, C# and C++ and then on web stuff Javascript PHP and also web stuff in Java and C#. Third year was Python for image processing etc. I love that we started with C It taught me so much about memory and I also loved the FP classes.
@T___Brown
@T___Brown 8 ай бұрын
To me, The problem is the poll question from SO. It asks what languages do you use/know. Everyone has to know some js so therefore it is "popular". The question should be... What is the language you write in for front end and language for backend?
@flanderstruck3751
@flanderstruck3751 8 ай бұрын
TS for both: Angular in the frontend and Nest.js in the backend
@T___Brown
@T___Brown 8 ай бұрын
@@flanderstruck3751 and that is perfect for your vote of 1. But for java, python, php, and c# (many more) they use their language on the backend and some sort of javascript on the front end. So they "know" javascript. That doesnt translate to "I use Ng and Nest" like it is being interpreted.
@MarkParkTech
@MarkParkTech 8 ай бұрын
Microsoft shot themselves in the foot early on when it used to only work on Windows. While it does work on other platforms as well now, it's not well implemented in non-microsoft environments, and much of the third party innovation and development is still very windows ecosystem centric.
@shiskeyoffles
@shiskeyoffles 8 ай бұрын
not many people at looking at this obvious point
@dmfaccount1272
@dmfaccount1272 8 ай бұрын
Everyone hates when Microsoft used to have hardware limited language but nobody ever cares that Apple has the same...
@hritikpurwar3115
@hritikpurwar3115 7 ай бұрын
Thanks for awesome explanation for a question I asked more than a month ago, I don't know why didn't I see this video earlier, I just randomly opened your video while trying to find some good dotnet stuff to learn, and couldn't believe my eyes seeing my question picked by you for a video
@matrim
@matrim 7 ай бұрын
A point to add with this in regards to JS being a better full-stack is also rather mute. You can take one of the strongest JS frontend platform React and put it side by side with Blazor, I would state that blazor wins on multiple fronts, the only one where I see react (since we're talking about this in my example) wins is in the amount of 3'rd party components. However I don't think that the quantity of 3'rd party libraries is that strong of a metric in this comparison. I've been working with JS, Java, C# and python through my career and few things has made me as happy as Blazor has.
@souleymaneba9272
@souleymaneba9272 6 ай бұрын
If Blazor didn't exist I think that I would have left the dotnet ecosystem. Because since WPF there is no reliable and bug free framework from Microsoft for building desktop app even in Windows!
@GambitVil
@GambitVil 8 ай бұрын
"There is F# developers and all five of them love F#..." 😂😂😂
@Chiramisudo
@Chiramisudo 8 ай бұрын
9:27 "All five of them..." 😂
@mathgeniuszach
@mathgeniuszach 7 ай бұрын
Using Microsoft development products and services often incurs a lot of technical debt and vendor lock-in. You can use C# without Microsoft lock-in (by doing things like writing your own csproj and avoiding the sln file), but most developers aren't technically knowledgable enough to use it that way.
@brandonochia9043
@brandonochia9043 8 ай бұрын
Please make a video about the things in OOP that you hate!! Maybe also discuss the other methodologies of development that you agree with more. Pretty please!!!
@VictorCO13
@VictorCO13 8 ай бұрын
Lmao the F# part sent me 🤣🤣🤣🤣
@TroyNiemeier
@TroyNiemeier 6 ай бұрын
Licensing everyone and every server and every MS SQL instance, etc. isn't cheap.
@BeepBoop2221
@BeepBoop2221 8 ай бұрын
I have been a bit apprehensive about learning c# for the worry i wont find a good job. My experience of start ups is they will get people straight from university, who will be willing to ne paid less. Which tended back in the day to be js/php devs.
@Silentsouls
@Silentsouls 8 ай бұрын
Javascript as a full stack language, please sent all those developers back to school.
@native-nature-video
@native-nature-video 8 ай бұрын
how many multi-instance back-end applications are written in "full-stack" JavaScript?
@ghaf222
@ghaf222 8 ай бұрын
It’s works both ways, no C# developer wants to get a job doing JavaScript anyway!
@Erik_The_Viking
@Erik_The_Viking 8 ай бұрын
When I was in college, Pascal and C were the primary languages. Java came much later, and then how it's largely Python and JavaScript. There's also a lot of polarizing hate for Microsoft, which is ridiculous. As for OOP, most schools do a terrible job of teaching it. There are different markets, industries, etc. that will use different tools for their purposes.
@roman_prystaiko
@roman_prystaiko 8 ай бұрын
C# is amazing language. I tried python, C, C++. But I like c#.
@liandrysanguish3103
@liandrysanguish3103 8 ай бұрын
Unpopular opinion but C# is an extremely easy language to start with, the difficulty comes from the sheer amount of concenpts you have to learn to use the language to its full potential
@FarukAFeres
@FarukAFeres 8 ай бұрын
"Theres F# developers, and all five of them love it." Chapsas, Nick
@burattinodilegno
@burattinodilegno 8 ай бұрын
Microsoft has an history of changing the language and the libraries for no apparent reason. This creates more work for developers and companies in order to keep up with the language. Companies do not want to carry these costs
@brianmouton2472
@brianmouton2472 8 ай бұрын
Most of the changes I've observed have been in the native app space, with Xamarin, WPF, Modern Apps, MAUI, etc. In the web space things have been pretty stable and you're not forced to use the new stuff. I can still make web requests the old style that existed back in .NET 2 days. Microsoft has been been WAY bigger on backwards compatibility than other companies. There are exceptions of course. .NET Core still doesn't have a full port of SOAP support, which you may encounter with older FinTech companies. Google however really broke backwards compatibility between major releases in Angular at some point. And then there are a smattering of OpenSource libraries in the Java world I've encountered that have no qualms dropping functions, making breaking changes, or just dropping whole features with the expectation that you'll just upgrade and adjust.
@kevinferati3415
@kevinferati3415 8 ай бұрын
I migrated multiple codebases with SDK versions ranging from .NET Framework 4.0 to 4.5 to what was then .NET Core 3.1 and the experience went rather seamlessly. In my short experience as a professionnal dev, I think that it's actually pretty stable. My boss asked me to do the same for a PHP codebase from version 5.6 to 8.something. We cancelled this almost immediatly lol
@programmerjowo
@programmerjowo 6 ай бұрын
That's no 1 reason
@Christobanistan
@Christobanistan 2 ай бұрын
Then they certainly don't want to use JS. LOL
@dennycrane2938
@dennycrane2938 8 ай бұрын
I'm surprised productivity or time to market wasn't brought up. I work with both and I'm a C# native. TL;DR - there's a lot of ceremony in statically typed languages. I find myself having to do a loooot more to write in C# than I would have to in Python, so things can take a lot longer. I understand, it's one of those front-loaded costs and you get things like stability in return, but in languages like python or javascript, I can show value and function much quicker, and as we know, that's all most startups care about.
@ricardopieper11
@ricardopieper11 8 ай бұрын
I know a person that legit thinks .NET *only* runs in Windows, even after you tell them about .NET Core... they go "no way lol" or "ok but it must run like shit on linux". This person worked professionally with F# (yes) for a few months even.
@SifSehwan
@SifSehwan 8 ай бұрын
Recently had a chat about this. To put it frankly C# seems intimidating to green developers, they prefer Python or JS(TS). A bunch of the people I talked to are university students and they do study C# but don't prefer it. The consensus was that finding a solution to a problem is never easy in C#, new things are introduced all the time and while it makes my work easy it pushes startup teams away. It's really important to understand that these teams usually include self-taught, junior or entirely inexperienced developers. Having 10 ways to sort a collection and 5 ways to make an API is not a plus for them. Another bit I missed is that most of them stated that a lot of resources around C# and F# focus too much on dos and don'ts rather than solutions.
@antnauman
@antnauman 8 ай бұрын
True, given that C# has a long history and everything since first version still works. But same goes for JS too, however unlike C# most of the study material focuses on latest stuff.
@malachi3438
@malachi3438 8 ай бұрын
The 10 ways to sort a collection and five ways to setup an api is a plus for them, they've got the basics down. What they lack is the experience, like what you once never had.
@PeteSauerbier
@PeteSauerbier 8 ай бұрын
A thing which I really experience a lot: people stick to the stuff they learned in university and apparently .NET is evil corpo stuff (MS hate) that only runs on windows. 😜
@TheRicherthanyouguy
@TheRicherthanyouguy 8 ай бұрын
My theory is that a lot of the reason start ups don't invest in start ups with C# is also because of Azure. More specifically the fact that since Azure in what Microsoft pushes to host C# web app people assume its 1. The only option there is and 2. They assume Azure will be expensive because they don't understand the payment model. I think this mis-assumption also contribute to start ups not using C# again these are just my thoughts.
Getting Started with Event Sourcing in .NET
37:07
Nick Chapsas
Рет қаралды 17 М.
Why Developers Already Hate .NET 9
10:12
Nick Chapsas
Рет қаралды 70 М.
How To Choose Ramen Date Night 🍜
00:58
Jojo Sim
Рет қаралды 57 МЛН
顔面水槽がブサイク過ぎるwwwww
00:58
はじめしゃちょー(hajime)
Рет қаралды 110 МЛН
маленький брат прыгает в бассейн
00:15
GL Show Russian
Рет қаралды 4,3 МЛН
Is Blazor Better than React?
14:25
Gavin Lon
Рет қаралды 38 М.
Best Programming Languages Tier List
33:02
Serif Sundown
Рет қаралды 6 М.
How Are .NET APIs So Much Faster than Everything Else?
13:02
Nick Chapsas
Рет қаралды 70 М.
Full stack web UI with Blazor in .NET 8 | .NET Conf 2023
55:56
Is C# Better than Java?
18:41
Gavin Lon
Рет қаралды 11 М.
You Are WRONG About 0 Based Indexing
25:02
ThePrimeTime
Рет қаралды 180 М.
Swagger is Going Away in .NET 9!
10:48
Nick Chapsas
Рет қаралды 62 М.
Interview with a Senior C# Developer
10:56
Programmers are also human
Рет қаралды 590 М.
This Is Why Managers Don't Trust Programmers...
28:04
Thriving Technologist
Рет қаралды 133 М.
How To Choose Ramen Date Night 🍜
00:58
Jojo Sim
Рет қаралды 57 МЛН