Why Startups Hate .NET and C#

  Рет қаралды 289,958

Nick Chapsas

Nick Chapsas

Күн бұрын

Пікірлер: 1 200
@darrencook7168
@darrencook7168 Жыл бұрын
My takeaway from this video: there needs to be a support group for the five F# devs.
@IsraelQuiroz
@IsraelQuiroz Жыл бұрын
hahahaha that one line killed me 1 of the 5 F# devs sitting there like why am i catching strays out here?
@kj2w
@kj2w Жыл бұрын
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"
@tullochgorum6323
@tullochgorum6323 Жыл бұрын
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 Жыл бұрын
@@IsraelQuiroz I actually said this out loud to no one in particular.
@PublicVoidFoo
@PublicVoidFoo Жыл бұрын
There's literally dozens of us
@ARumGremlin
@ARumGremlin Жыл бұрын
"For the love of God, there are F# developers and all five of them love F#". Haha.
@FrederickMarcoux
@FrederickMarcoux Жыл бұрын
Caught me off guard too haha
@privatesocialhandle
@privatesocialhandle Жыл бұрын
I really feel bad for F# to be honest haha.
@zariumsheridan3488
@zariumsheridan3488 Жыл бұрын
Yeah that was a good one )))
@Oyyou
@Oyyou Жыл бұрын
That got me good
@abdelrahmandwedar
@abdelrahmandwedar Жыл бұрын
😂😂😂 Lol!
@bscamba
@bscamba Жыл бұрын
Two things I don't understand in tech: 1 - the love for Javascript 2 - the hate for C#/.NET
@kinggrizzly13
@kinggrizzly13 Жыл бұрын
When my frontend developer told me he rather use typescript instead of javascript, he became from friend.
@fusedqyou
@fusedqyou Жыл бұрын
@@kinggrizzly13 The only reason why people use Javascript is because they have not tried Typescript yet.
@monarch73
@monarch73 Жыл бұрын
@@kinggrizzly13 That does not make any sense. typescript is a language, that transpiles into javascript....you can't have typescript without javascript
@gnanaitvara1246
@gnanaitvara1246 Жыл бұрын
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 Жыл бұрын
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.
@sarahkatherine8458
@sarahkatherine8458 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
​​@@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.
@QuAzI_NODE
@QuAzI_NODE Жыл бұрын
@@flarebear5346 so when I can use MAUI in Linux?
@MaidenLoaf
@MaidenLoaf Жыл бұрын
From my experience the reason why people hate Windows isn't so much bias but mainly because it's worse for development in general as it can't containerise apps on the same kernel. It has to work around it by virtualising another kernel; hence why Microsoft made WSL. They wouldn't have bothered with WSL if Windows was capable of doing the same thing with the same level of performance as on *nix systems. Even with WSL, it's very clunky to work with. Don't get me wrong, I avoid Windows for a few reasons - one of them being I don't like how much telemetry there is - so you might call that bias. Having said that, I have to use a Windows instance for a number of things at work and I find the UX super annoying because it's far harder to customise to do what I want (even MacOS is easier to work with and customise, and that's saying something). It's also a huge pain when it comes to things like hashing because it has the tendency to just re-encode things to use for newline which completely changes the hash. Chalking it down to just anti-Microsoft bias is dishonest as it isn't telling the full story.
@reiku3348
@reiku3348 Жыл бұрын
As an F# developer I feel attacked. We have a 6th developer now! Get with it old man!
@PublicVoidFoo
@PublicVoidFoo Жыл бұрын
There are literally half a dozen of us
@piotrj333
@piotrj333 Жыл бұрын
Still more then Haskell developers.
@taylorswe
@taylorswe Жыл бұрын
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 Жыл бұрын
@@taylorswe They are trolling, it's all a myth like fairy dust. Everyone knows F# developers don't actually exist.
@thecollector6746
@thecollector6746 Жыл бұрын
@@piotrj333 Underappreciated comment.
@valera924
@valera924 Жыл бұрын
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 Жыл бұрын
It is an absolute piece of shit and is woefully inefficient.
@andyfitz1992
@andyfitz1992 Жыл бұрын
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 Жыл бұрын
​​@@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 Жыл бұрын
you also have this feature in other languages. so it doesn't stand out
@valera924
@valera924 Жыл бұрын
@@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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
Are you hiring for. Net, blazor?
@marianf25
@marianf25 Жыл бұрын
@@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 Жыл бұрын
I hear that blazor is quit slow is that the case?
@tancyew
@tancyew Жыл бұрын
@@BeepBoop2221 blazor WASM yes atm due to not having true multithreading support just async/await, blazor server works wonders
@Kwpolska
@Kwpolska Жыл бұрын
“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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@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 Жыл бұрын
@@paulie-g nailed it but no one wants to hear this
@paulie-g
@paulie-g Жыл бұрын
@@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.
@Kevin_Long
@Kevin_Long Жыл бұрын
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 8 ай бұрын
VERY RIGHT: "use what you are productive in, and that's it, the whole language debate is a waste of time"
@rebuera-landrex
@rebuera-landrex 4 ай бұрын
You're really correct on that sir. Just master one thing and you can do everything.
@ThaWolloW
@ThaWolloW Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@eevyl1337 Agree with you in the case of Rust.
@auroraRealms
@auroraRealms Жыл бұрын
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 Жыл бұрын
WGU SWE C# Track?
@svenmify
@svenmify 7 ай бұрын
How can you know that it’s easier to learn other languages with c# as your first language? Have you tried forgetting it and having another first language, and then learning new languages? Not sure how one would accurately measure that
@raphaelmt1706
@raphaelmt1706 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
​@@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 11 ай бұрын
@@NihongoWakannainightmare to debug dynamically typed languages
@privatesocialhandle
@privatesocialhandle Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
"how to avoid them" - step 1: learn OOP instead of using and OO language without OO
@privatesocialhandle
@privatesocialhandle Жыл бұрын
@@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.
@TheReal-Entermax
@TheReal-Entermax Жыл бұрын
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 Жыл бұрын
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.
@evancombs5159
@evancombs5159 Жыл бұрын
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 Жыл бұрын
@@rcherrycoke7322 what about SQL Server for Linux? Is it as good as .net core?
@johnnyblue4799
@johnnyblue4799 Жыл бұрын
@@rcherrycoke7322 That's what he said.
@ricardogriffith9384
@ricardogriffith9384 Жыл бұрын
.NET Core has been cross platform for years.
@berry212
@berry212 Жыл бұрын
​@@ricardogriffith9384the same people don't know that core 2 comes after framework 4.8
@silkfire
@silkfire Жыл бұрын
@@rcherrycoke7322 Called simply .NET since .NET 5 (November 2020)
@gnanaitvara1246
@gnanaitvara1246 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@s1nistr433 python is also more seemless for beginners but still allows you to practice modern techniques such as vectorization with ease.
@katamas832
@katamas832 Жыл бұрын
​@@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 Жыл бұрын
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 10 ай бұрын
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.
@scrm3377
@scrm3377 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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 8 ай бұрын
Our entire stack is .Net with a SPA TS framework, and we develop on Windows, Mac, and deploy to containers on Linux.
@eldonad
@eldonad 8 ай бұрын
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.
@edgeofsanitysevensix
@edgeofsanitysevensix Жыл бұрын
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.
@ВладиславДараган-ш3ф
@ВладиславДараган-ш3ф Жыл бұрын
Because C# holds image of enterprise language like Java. That's all
@RogueNinjaCreative
@RogueNinjaCreative 8 ай бұрын
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.
@mealloc
@mealloc Жыл бұрын
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.
@KadenCartwright
@KadenCartwright Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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?
@matthewoconnor2742
@matthewoconnor2742 3 ай бұрын
Weirdly I have been in two C# startups, but I think I found unicorns
@the-niker
@the-niker Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@the-niker it's more they know they will keep quiet to avoid getting fired.
@Christobanistan
@Christobanistan 10 ай бұрын
@@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.
@eherlitz
@eherlitz Жыл бұрын
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 Жыл бұрын
"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 Жыл бұрын
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 :)
@RickTheClipper
@RickTheClipper Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
OMG, that’s so true!!
@shosetsuninja3112
@shosetsuninja3112 Жыл бұрын
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.
@earlh
@earlh Жыл бұрын
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 8 ай бұрын
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.
@holger_p
@holger_p 6 ай бұрын
You prefer they have one platform ready, and hold it back until it ready for all platforms, to give you a better feeling ? There is no other positive outcome, than your feeling.
@auroraRealms
@auroraRealms Жыл бұрын
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.
@larsp5109
@larsp5109 Жыл бұрын
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 Жыл бұрын
Js (or any dynamically typed language really) should never be used as the first language, its that simple
@paulie-g
@paulie-g Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@@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 Жыл бұрын
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.
@claylenhart
@claylenhart Жыл бұрын
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)
@mz00956
@mz00956 Ай бұрын
I like it because of that. i want to do something, open my editor and just do it
@123mrfarid
@123mrfarid 27 күн бұрын
Node js can do that too.. not c# hater but nothing in c# is special just another general programming language.
@claylenhart
@claylenhart 23 күн бұрын
@ yeah I like node js too for the same reasons.
@tarsala1995
@tarsala1995 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
Who worries about memory management in C# ?
@xfy123
@xfy123 Жыл бұрын
​@@alanbourke4069You still have to worry about memory management, garbage collector isn't a magic thing that automatically knows what to remove.
@tarsala1995
@tarsala1995 Жыл бұрын
@@alanbourke4069 Recruiters at least
@artemartem842
@artemartem842 Жыл бұрын
​@@alanbourke4069interviewers apparently and the other party when have to optimize poorly written things.
@cipix37
@cipix37 Жыл бұрын
The point about multi threading makes literally zero sense. "I work single threaded in whatever language but I fear C# because I don't understand how multithreading works in C#". Excuse you, if you don't understand C# multithreading then just use it single threaded. Have you at least tried using your favorite language multithreaded for comparison? Who works only single threaded and calls himself a developer anyway? In my experience which is by all means very little, every app should have at least one method that executes on another thread to avoid freezing.
@antnauman
@antnauman Жыл бұрын
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 Жыл бұрын
​@@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
@VeNoM0619
@VeNoM0619 Жыл бұрын
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.
@mariosutalo
@mariosutalo Жыл бұрын
One reason startups tend to choose javascript, especially for frontend development, is the choice of free open source UI libraries. Blazor component libraries are mostly paid. Microsoft needs to attract the open-source community.
@carducci000
@carducci000 Жыл бұрын
Fluent blazor components. But schools refuse to teach it as fundamentals with c#. It's kinda sad
@BlissedOut
@BlissedOut Жыл бұрын
Real front end devs create their own components. Backend devs use ui libs! Bootstrap normally suffices!
@maxm1079
@maxm1079 Жыл бұрын
MudBlazor free and opensource
@rebelsdeveloper367
@rebelsdeveloper367 Жыл бұрын
the most mistake .. front end don't care what behind.. it just api . I can used whatever javascript library without using those react , angular , vue thingy. Currenly i create more code jquery reather then react. react slow..
@gadget00
@gadget00 Жыл бұрын
I also think that the strong connection between C# and Visual Studio in part keeps the unfounded hate for C#; many people just don't like Visual Studio and in connection thought C# was an exclusive language for it, like Objective-C or Swift for XCode. Microsoft understood that and came up with VS Code to just have a way to promote C# as a language on it's own and separate it from the IDE; same as Apple that open-sourced Swift in order to have that same separation between language and coding toolkit. When people discover tha they don't need VS to code in C# at all, that releases tension imho
@JoseAlvarez-dl3hm
@JoseAlvarez-dl3hm Жыл бұрын
I agree, although Visual Studio is the best IDE to work with, awesome tool.
@gadget00
@gadget00 Жыл бұрын
@@JoseAlvarez-dl3hm it’s a convoluted mess just to install it and setting it up to then be productive until it starts to fail. I wouldn’t call it “the best IDE ever” to be honest
@SergLapin
@SergLapin Жыл бұрын
Rewrote the whole control plane from C to .NET, running on ARM Linux. Came out very stable and well structured.
@eugene3685
@eugene3685 Жыл бұрын
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 Жыл бұрын
​@@D9ID9Igood thing we have variety of ways and options on what we can use, don't we?
@eugene3685
@eugene3685 Жыл бұрын
@@D9ID9I What's the problem with sugar?
@sirkato7751
@sirkato7751 Жыл бұрын
I think one thing is that most universities teach java.
@azmisudrajat
@azmisudrajat 6 ай бұрын
not anymore
@sirkato7751
@sirkato7751 6 ай бұрын
@@azmisudrajat You mean there is progress? thats awesome!
@HelixClovers
@HelixClovers Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@JonitoFischer C# can do everything that matlab does. Matlab is dead, if you want to do scientific programming you just use python nowaydays.
@fernandohood5542
@fernandohood5542 3 ай бұрын
Python is not as nice as many people think.
@KodingKuma
@KodingKuma Жыл бұрын
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 10 ай бұрын
Maui doesn't do Linux.
@KodingKuma
@KodingKuma 10 ай бұрын
@@Christobanistan , you can't win it all.
@info781
@info781 Жыл бұрын
1. Once you are in the Microsoft ecosystem, is seems every nail has to be hit with a hammer made by Microsoft. 2. It can be difficult to integrate to other things. (example Postgres is great but SQL server is so much easier to integrate and on and on) 3. When new open source ideas come out you have to wait for Microsoft to implement them. 4. The license fees start to slowly creep up. 5. You are dependent on Microsoft support. I am in a large shop and we use everything, but those windows server costs add up.
@Euphorya
@Euphorya Жыл бұрын
This is 100% my reservation. You lose flexibility when you couple yourself to Microsoft. For most orgs it’s a good trade, but if you want to stay flexible and keep vendor costs as low as possible Microsoft can cause problems.
@Christobanistan
@Christobanistan 10 ай бұрын
You're not a C# dev, are you? 1. This is a huge strength. It means the way things are written are highly consistent and you don't need to go elsewhere for basic functionality. You're also not constantly chasing fads! 2. Postgres is extremely easy to migrate to in .Net. I've done it and it's very similar to SQL Server with a great EF driver. 3. Nooo, just use a third party nuget or lib that uses them. Not only are .NET/C# FOSS, the FOSS ecosystem pretty much dominates as much as other languages. 4. There are no license fees, .C# and .Net are open source and totally free. VS costs money after 1M$ revenue, but VS Code is a FOSS alternative, and Ryder is cheap (and better), too. 5. No you're not, it's FOSS, and see #3.
@TurntableTV
@TurntableTV Жыл бұрын
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 Жыл бұрын
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.
@Nworthholf
@Nworthholf Жыл бұрын
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.
@sergeybenzenko6629
@sergeybenzenko6629 Жыл бұрын
Fsharpers (all 5 of them) are REALLY pissed right now.
@klaesregis7487
@klaesregis7487 Жыл бұрын
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.
@luisreis3202
@luisreis3202 Жыл бұрын
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.
@matrim
@matrim Жыл бұрын
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 Жыл бұрын
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!
@verzivull
@verzivull Жыл бұрын
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.
@schulz5patrick
@schulz5patrick Жыл бұрын
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.
@Matt23488
@Matt23488 Жыл бұрын
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.
@Blu3Souls
@Blu3Souls Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
@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 Жыл бұрын
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.
@andrew4x4au666
@andrew4x4au666 Жыл бұрын
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.
@dawizze1
@dawizze1 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@TheSpacecraftX US here.
@ghaf222
@ghaf222 Жыл бұрын
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 Жыл бұрын
​@@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 Жыл бұрын
@@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.
@hyrr092
@hyrr092 Жыл бұрын
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 Жыл бұрын
1. It is, while it can technically run on linux, linux useres are clearly second if not third class citizens
@marioprawirosudiro7301
@marioprawirosudiro7301 Жыл бұрын
@@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 Жыл бұрын
@@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.
@olinzknihytovi
@olinzknihytovi Жыл бұрын
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.
@garylee867
@garylee867 Жыл бұрын
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.
@TroyNiemeier
@TroyNiemeier Жыл бұрын
Licensing everyone and every server and every MS SQL instance, etc. isn't cheap.
@thebitterbeginning
@thebitterbeginning Жыл бұрын
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.
@picklerix6162
@picklerix6162 Жыл бұрын
I used C# many years ago so I was a little shocked at how much has changed when I started using it again last year.
@staubsauger2305
@staubsauger2305 Жыл бұрын
For a large company the changes (that Microsoft needs to do to generate upgrade sales) are a negative once you have a large, long-lived codebase. Most developers cannot see the strategic, management aspect that causes things like the very stable incremental Java roadmap to be selected over Microsoft technologies.
@r00tyschannel52
@r00tyschannel52 Жыл бұрын
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 Жыл бұрын
There's a lot of truth in this!
@alexdegaston422
@alexdegaston422 Жыл бұрын
Going for a different language than a highly used one because "developers are cheaper" is a really dumb criteria to use.
@marsgal42
@marsgal42 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
@@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 Жыл бұрын
Good luck with MAUI, noobs
@NextProgrammer
@NextProgrammer Жыл бұрын
MAUI the new silverlight
@dmitryborovych9135
@dmitryborovych9135 Жыл бұрын
Video about OOP negative points from your personal perspective would be really nice to watch!
@xlerb2286
@xlerb2286 5 ай бұрын
I worked for a couple near startups that were both .NET / C# based. Worked great. We had some other companies we'd bought that had applications written in other languages. They seemed to spend more time working around little things and tooling issues, while we just kept plugging along with C#, pushing out code every 2 weeks. Dev hours are expensive, a set of tools that lets you focus on the important issues and not get ratholed on the minutia is worth more to me than a whole truckload of new and sexy.
@bezi8875
@bezi8875 7 ай бұрын
Honestly speaking I won't say JS or Ptrhon are good entry languages. My first language (of my personal choice before uni) was C++. In uni they required us to learn C, then C++ and Python, then C# (.NET Framework, WinForms, .NET Core, ASP .NET Core), Java (Java-FX, Android), PHP, Assembly (A51), then more advanced C# or Java (I've chosen C#) and C for microcontrollers. Surprisingly on my uni I've never met JavaScript as required language. I've graduated from faculty of Electrical Engineering (but still in Computer Science) thought. Currently I use mostly C#, Bash and Python.
@RealEngineer
@RealEngineer Жыл бұрын
My first language was c# and that has served me good since.
@billy65bob
@billy65bob Жыл бұрын
I absolutely loathe Microsoft: their history (they're a convicted monopolist), their present (e.g. forcing everyone to have a microsoft account), and their mostly diabolical business practices (e.g. all the SaaS nonsense). But even I have to admit that C# is excellent, and that 95% of .NET's built-in library is too.
@jpmcic
@jpmcic Жыл бұрын
ROFL - best quote of the day... "There are F# developers and ALL 5 of them LOVE F# ..."
@gaiustacitus4242
@gaiustacitus4242 Жыл бұрын
As you've noted, 9 out of every 10 startups will fail. A big factor in their failure is the technology stack the product is built upon. Loosely typed languages result in a greater number of software defects, and the untyped variables make it extremely difficult to identify the source of errors. Hiring hacks who cannot code in a strongly typed language is a huge problem for startups.
@gaiustacitus4242
@gaiustacitus4242 Жыл бұрын
@@gppsoftware True, but it is a bigger problem for startups for their financial viability hinges on the quality of the software written.
@Slubicjusz
@Slubicjusz Жыл бұрын
9:58, Actually, C# is 3rd programming language. JS and Python are script languages. That's maybe the reason why newcomers prefer them over programming languages - they do not compile thus do not blame you if your script has syntax errors.
@JinnGuild
@JinnGuild 20 күн бұрын
I realize that Node.js can work very well as a backend and may even fulfill many business needs. However, you could make a similar statement about C# frontends (Blazor/MVC). So saying that JS/TS is more full-stack than C# is another misconception. It's just that both JS/TS and C# can handle full-stack development, but JS/TS is generally more suited for the frontend. Similarly, C# tends to be better suited for the backend. But this doesn't change the fact that the main point holds true: new talent often comes in by learning a language like JS/TS with many built-in frameworks. This approach emphasizes programming with a lighter focus on engineering complexities. Everything is a cohesive stack and works well together. This talent is typically less expensive to hire, and the languages are popular, so you don't really need to look far beyond that to address the question. Does this mean startups should choose JS/TS and opt for less expensive talent? Beyond marketing and funding, some of the biggest reasons for a startup to fail include a lack of competency in Dev/IT management, leadership, and adjacent teams. It might be beneficial to start with a Chief Architect or Engineer in a leadership role to decide on the technologies and assemble a diverse group of developers. Additionally, roles like CTO, VP, Director, or Manager (any Fiduciary) are not even measurably capable compared to a lead team member (like Principal/Chief/Lead Engineer) to make these decisions.
@proosee
@proosee Жыл бұрын
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.
@mathgeniuszach
@mathgeniuszach Жыл бұрын
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.
@MarkParkTech
@MarkParkTech Жыл бұрын
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 Жыл бұрын
not many people at looking at this obvious point
@dmfaccount1272
@dmfaccount1272 Жыл бұрын
Everyone hates when Microsoft used to have hardware limited language but nobody ever cares that Apple has the same...
@dungimon1912
@dungimon1912 Жыл бұрын
The start up I work in uses aspnet 7 and it’s been a pleasure!
@jeisuxco
@jeisuxco Жыл бұрын
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
@clarent142
@clarent142 5 ай бұрын
My guess: speed of development (actually writing code) is the main driving factor (+ new and shiny bias) Startups mostly have time scarcity and highly volatile feature sets, making strongly typed languages less preferable as the additional rigor and planning require more time to code. I would even say that document databases are likely more preferred over relational for the same reason, it's easier to change. Node, python etc. also have more stuff readily available (code, tutorials, influencers, bootcamps, employee pool etc.) that help save time. Raw "performance" is rarely an issue for a startup, even in scale up phase. The main focus is on feature development and even if it pains me to say it out loud, not even bugs change this. At the end of the day, fearures allow startups to survive the initial death valley and once you have money, you have resources to solve problems. Unfortunately this doesn't translate well to engineering as the cost of change goes up the more you grow your unstable foundations, but that's startup life 😂🤷🏻‍♂️ p.s. I'm assuming you are VC funded as they have more time pressure compared to bootstrapped.
@T___Brown
@T___Brown Жыл бұрын
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 Жыл бұрын
TS for both: Angular in the frontend and Nest.js in the backend
@T___Brown
@T___Brown Жыл бұрын
@@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.
@_MB_93
@_MB_93 Жыл бұрын
Simple, C# is not marketed enough If M$ wanted they could pay tech "influencers" to talk about C# more
@burattinodilegno
@burattinodilegno Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
That's no 1 reason
@Christobanistan
@Christobanistan 10 ай бұрын
Then they certainly don't want to use JS. LOL
@dsuess
@dsuess Жыл бұрын
C# is a startup lang. I'm doing my latest startup and LOVE using C#, and yes, .NET MAUI too. My main belly ache is on Linux since MonoDevelop archived. Only using JS for websites
@Christobanistan
@Christobanistan 10 ай бұрын
Maui doesn't work on Linux.
@kunichiyawa1660
@kunichiyawa1660 Жыл бұрын
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.
@minciNashu
@minciNashu Жыл бұрын
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.
@ghaf222
@ghaf222 Жыл бұрын
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.
@tabliqatchi6696
@tabliqatchi6696 5 ай бұрын
Although dynamic and loose type checking is bad for creating quality software IN MOST CASES, people enjoy the so much limitless freedom it brings, and they have decided to bite the bullet and accept all the heavy responsibility. In the end, if you really know what you're doing, and if you can really accept this heavy responsibility (most people don't and most people can't), you're good to go with JavaScript/TypeScript. The biggest problem IMO here are the beginners who fall for the decisions that advanced developers make, unaware of their level of expertise. If something makes sense to be used by a crazy advanced developer, it doesn't make equal sense to be used by a young inexperienced developer. It doesn't matter whether we hate JavaScript/TypeScript or not, it's the most popular programming language in the world, and so there MUST be a reason that it's gained this much (HUGE) popularity. As long as we can't make coding in static/strongly typed languages as easiest as possible and as fruitful as looser languages, we can't expect things to change for the better.
@PatrikBergsten
@PatrikBergsten Жыл бұрын
Yes, I’d love to see a video on what you hate about OOP
@Osirus1156
@Osirus1156 Жыл бұрын
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.
@BrandonClapp
@BrandonClapp Жыл бұрын
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.
@muhamedkarajic
@muhamedkarajic Жыл бұрын
I think what C# is lacking is good visual studio code support. I know they are working on it and it gets better but with e.g. node/javascript you get the intelisence out of the box and don't have to pay anything. Still I believe also that C# has a far better intelisence which is far more complex (interfaces, namespaces are working differently, etc). However I didn't really like that microsoft is now making a extension for visual studio code which again has to be licenced. I feel like they make one step fowards and a half step backwards.
@vancomycinb1193
@vancomycinb1193 Жыл бұрын
you *can* always use the *free* version of the full visual studio, you know.
@CleoCat75
@CleoCat75 Жыл бұрын
Visual Studio Intellisense is totally free, afaik, and HUGELY helpful, it's amazing what it can do and how it can predict huge swathes of code (without github AI pilot, which sucks).
@Christobanistan
@Christobanistan 10 ай бұрын
This comment is literally the opposite of the truth.
@ChristianHowell
@ChristianHowell Жыл бұрын
They don't know what they're missing... C# has allowed me to solve crazy problems...
@Chiramisudo
@Chiramisudo Жыл бұрын
9:27 "All five of them..." 😂
@Picike85
@Picike85 Жыл бұрын
I'm working for the second startup in Scotland both use C# and . NET. :)
@sarunas8002
@sarunas8002 Жыл бұрын
.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.
@KoKnows31
@KoKnows31 Жыл бұрын
This is really a matter of scale and maintenance. For relatively small projects, proficiency and preference are key, but The larger the project, the more control over the structure you’ll want. C# and MVC principles enforce some incredibly beneficial design patterns that allow for scalability
@huray9802
@huray9802 Жыл бұрын
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 Жыл бұрын
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 Жыл бұрын
WHAT are you talking about?? You're still stuck in 2004 .NET 1.1!
@darenbaker4569
@darenbaker4569 Жыл бұрын
Being a c# and javascript dev for 30 years OK sorry 22 years. C# is is still cool. You wait till November when they will show case semantic kernel the greatest move for c# devs in the last 20 years. Love your videos over the last few years.
@andrew4x4au666
@andrew4x4au666 Жыл бұрын
Thanks for the heads up - will check it out
@Silentsouls
@Silentsouls Жыл бұрын
Javascript as a full stack language, please sent all those developers back to school.
@native-nature-video
@native-nature-video Жыл бұрын
how many multi-instance back-end applications are written in "full-stack" JavaScript?
@ghaf222
@ghaf222 Жыл бұрын
It’s works both ways, no C# developer wants to get a job doing JavaScript anyway!
@clementfauchere3528
@clementfauchere3528 Жыл бұрын
Because those days they teach garbage like python or node.js and get the quality they paid for.
@roman_prystaiko
@roman_prystaiko Жыл бұрын
C# is amazing language. I tried python, C, C++. But I like c#.
@Talis116
@Talis116 Жыл бұрын
The one point I disagree with is the second point. language should never be a barrier for you as a full stack developer, and there is a LOT of reasons not to have java script as a back end given its not compiled and can hide bugs and major issues until run time.
@marcoandreschmidt5859
@marcoandreschmidt5859 Жыл бұрын
If you like c#(microsoft) you don’t fit in with the cool 😎 programmers freelancers/youtubers who advocate Linux and open source but use macOS
I Confronted Microsoft About Blazor's Future
1:13:54
Nick Chapsas
Рет қаралды 79 М.
Is C# Better than Java?
18:41
Gavin Lon
Рет қаралды 18 М.
Маусымашар-2023 / Гала-концерт / АТУ қоштасу
1:27:35
Jaidarman OFFICIAL / JCI
Рет қаралды 390 М.
Как Ходили родители в ШКОЛУ!
0:49
Family Box
Рет қаралды 2,3 МЛН
Brutally honest advice for new .NET Web Developers
7:19
Ed Andersen
Рет қаралды 314 М.
How Senior Programmers ACTUALLY Write Code
13:37
Thriving Technologist
Рет қаралды 1,6 МЛН
The Logging Everyone Should Be Using in .NET
15:34
Nick Chapsas
Рет қаралды 94 М.
Why Developers and Companies Hate .NET 9
10:56
Nick Chapsas
Рет қаралды 59 М.
Microservices are Technical Debt
31:59
NeetCodeIO
Рет қаралды 752 М.
Is Functional Programming DEAD Already?
21:07
Continuous Delivery
Рет қаралды 79 М.
“.NET 9 Is Killing MediatR, MassTransit & Wolverine!”
11:59
Nick Chapsas
Рет қаралды 93 М.
The Smart Way of Using the Decorator Pattern in C#
12:37
Nick Chapsas
Рет қаралды 72 М.
Маусымашар-2023 / Гала-концерт / АТУ қоштасу
1:27:35
Jaidarman OFFICIAL / JCI
Рет қаралды 390 М.