Why Startups Hate .NET and C#

2023 ж. 13 Қыр.
236 085 Рет қаралды

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

Пікірлер
  • Two things I don't understand in tech: 1 - the love for Javascript 2 - the hate for C#/.NET

    @bscamba@bscamba7 ай бұрын
    • When my frontend developer told me he rather use typescript instead of javascript, he became from friend.

      @kinggrizzly13@kinggrizzly137 ай бұрын
    • @@kinggrizzly13 The only reason why people use Javascript is because they have not tried Typescript yet.

      @fusedqyou@fusedqyou7 ай бұрын
    • @@kinggrizzly13 That does not make any sense. typescript is a language, that transpiles into javascript....you can't have typescript without javascript

      @monarch73@monarch737 ай бұрын
    • 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.

      @gnanaitvara1246@gnanaitvara12467 ай бұрын
    • 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.

      @monarch73@monarch737 ай бұрын
  • "For the love of God, there are F# developers and all five of them love F#". Haha.

    @ARumGremlin@ARumGremlin7 ай бұрын
    • Caught me off guard too haha

      @FrederickMarcoux@FrederickMarcoux7 ай бұрын
    • I really feel bad for F# to be honest haha.

      @privatesocialhandle@privatesocialhandle7 ай бұрын
    • Yeah that was a good one )))

      @zariumsheridan3488@zariumsheridan34887 ай бұрын
    • That got me good

      @Oyyou@Oyyou7 ай бұрын
    • 😂😂😂 Lol!

      @abdelrahmandwedar@abdelrahmandwedar7 ай бұрын
  • My takeaway from this video: there needs to be a support group for the five F# devs.

    @darrencook7168@darrencook71687 ай бұрын
    • hahahaha that one line killed me 1 of the 5 F# devs sitting there like why am i catching strays out here?

      @IsraelQuiroz@IsraelQuiroz7 ай бұрын
    • 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"

      @kj2w@kj2w7 ай бұрын
    • Must be four now as I was keen once but haven't coded in it for a while.

      @taylorkoepp3048@taylorkoepp30487 ай бұрын
    • 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.

      @tullochgorum6323@tullochgorum63237 ай бұрын
    • @@IsraelQuiroz I actually said this out loud to no one in particular.

      @drewknab8149@drewknab81497 ай бұрын
  • As an F# developer I feel attacked. We have a 6th developer now! Get with it old man!

    @reiku3348@reiku33487 ай бұрын
    • There are literally half a dozen of us

      @PublicVoidFoo@PublicVoidFoo7 ай бұрын
    • Still more then Haskell developers.

      @piotrj333@piotrj3337 ай бұрын
    • 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?

      @taylorswe@taylorswe7 ай бұрын
    • @@taylorswe They are trolling, it's all a myth like fairy dust. Everyone knows F# developers don't actually exist.

      @ricardomonge2769@ricardomonge27697 ай бұрын
    • @@piotrj333 Underappreciated comment.

      @thecollector6746@thecollector67467 ай бұрын
  • 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.

    @sarahkatherine8458@sarahkatherine84587 ай бұрын
    • 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.

      @Azzarrel@Azzarrel7 ай бұрын
    • 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.

      @flarebear5346@flarebear53467 ай бұрын
    • ​​@@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.

      @MaidenLoaf@MaidenLoaf7 ай бұрын
    • 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 🙄

      @attribute-4677@attribute-46777 ай бұрын
    • @@flarebear5346 so when I can use MAUI in Linux?

      @QuAzI_NODE@QuAzI_NODE7 ай бұрын
  • 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.

    @valera924@valera9247 ай бұрын
    • It is an absolute piece of shit and is woefully inefficient.

      @jimmymac601@jimmymac6017 ай бұрын
    • 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!

      @andyfitz1992@andyfitz19927 ай бұрын
    • ​​@@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.

      @MaidenLoaf@MaidenLoaf7 ай бұрын
    • you also have this feature in other languages. so it doesn't stand out

      @blackknight2368@blackknight23687 ай бұрын
    • @@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

      @valera924@valera9247 ай бұрын
  • “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).

    @Kwpolska@Kwpolska7 ай бұрын
    • 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.

      @paulie-g@paulie-g7 ай бұрын
    • @@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.

      @Kwpolska@Kwpolska7 ай бұрын
    • @@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.

      @paulie-g@paulie-g7 ай бұрын
    • @@paulie-g nailed it but no one wants to hear this

      @omgwat@omgwat7 ай бұрын
    • @@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.

      @paulie-g@paulie-g7 ай бұрын
  • 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.

    @raphaelmt1706@raphaelmt17067 ай бұрын
    • 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.

      @pascalmartin1891@pascalmartin18917 ай бұрын
    • ​@@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.

      @NihongoWakannai@NihongoWakannai3 ай бұрын
    • @@NihongoWakannainightmare to debug dynamically typed languages

      @DhruvRed@DhruvRed2 ай бұрын
  • 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.

    @marianf25@marianf257 ай бұрын
    • 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 :)

      @PankajNikam@PankajNikam7 ай бұрын
    • Are you hiring for. Net, blazor?

      @TheHassoun9@TheHassoun97 ай бұрын
    • @@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.

      @marianf25@marianf257 ай бұрын
    • I hear that blazor is quit slow is that the case?

      @BeepBoop2221@BeepBoop22217 ай бұрын
    • @@BeepBoop2221 blazor WASM yes atm due to not having true multithreading support just async/await, blazor server works wonders

      @tancyew@tancyew7 ай бұрын
  • Why do Java developers need glasses? Because they can't C#

    @EscurKo@EscurKo7 ай бұрын
    • @humanisatitle@humanisatitle20 күн бұрын
    • that made me laugh, fuc# you

      @Gahwotchii@Gahwotchii7 күн бұрын
  • 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.

    @RogueNinjaCreative@RogueNinjaCreative8 күн бұрын
  • 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. :)

    @ThaWolloW@ThaWolloW7 ай бұрын
    • 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).

      @eevyl1337@eevyl13377 ай бұрын
    • @@eevyl1337 Agree with you in the case of Rust.

      @kcvinu@kcvinu7 ай бұрын
    • 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.

      @auroraRealms@auroraRealms7 ай бұрын
    • WGU SWE C# Track?

      @victoralmanzar1273@victoralmanzar12736 ай бұрын
  • 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

    @RickTheClipper@RickTheClipper7 ай бұрын
    • 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?

      @CistiC0987@CistiC09877 ай бұрын
    • OMG, that’s so true!!

      @GiantsOnTheHorizon@GiantsOnTheHorizon7 ай бұрын
  • 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.

    @evancombs5159@evancombs51597 ай бұрын
    • @@rcherrycoke7322 what about SQL Server for Linux? Is it as good as .net core?

      @native-nature-video@native-nature-video7 ай бұрын
    • @@rcherrycoke7322 That's what he said.

      @johnnyblue4799@johnnyblue47997 ай бұрын
    • .NET Core has been cross platform for years.

      @ricardogriffith9384@ricardogriffith93847 ай бұрын
    • ​@@ricardogriffith9384the same people don't know that core 2 comes after framework 4.8

      @berry212@berry2127 ай бұрын
    • @@rcherrycoke7322 Called simply .NET since .NET 5 (November 2020)

      @silkfire@silkfire7 ай бұрын
  • 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!

    @privatesocialhandle@privatesocialhandle7 ай бұрын
    • 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.

      @R0MUl0@R0MUl07 ай бұрын
    • "how to avoid them" - step 1: learn OOP instead of using and OO language without OO

      @JasonKaler@JasonKaler7 ай бұрын
    • @@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.

      @privatesocialhandle@privatesocialhandle7 ай бұрын
    • 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.

      @TheMSKGC@TheMSKGC7 ай бұрын
    • 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.

      @kennichdendenn@kennichdendenn7 ай бұрын
  • 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 :))

    @eugene3685@eugene36857 ай бұрын
    • ​@@D9ID9Igood thing we have variety of ways and options on what we can use, don't we?

      @kunichiyawa1660@kunichiyawa16607 ай бұрын
    • @@D9ID9I What's the problem with sugar?

      @eugene3685@eugene36857 ай бұрын
  • 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.

    @gnanaitvara1246@gnanaitvara12467 ай бұрын
    • 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

      @s1nistr433@s1nistr4337 ай бұрын
    • @@s1nistr433 python is also more seemless for beginners but still allows you to practice modern techniques such as vectorization with ease.

      @acasualviewer5861@acasualviewer58617 ай бұрын
    • ​@@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.

      @katamas832@katamas8327 ай бұрын
    • 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.

      @NihongoWakannai@NihongoWakannai3 ай бұрын
    • 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.

      @heeerrresjonny@heeerrresjonnyАй бұрын
  • 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.

    @scrm3377@scrm33777 ай бұрын
    • 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.

      @brianmouton2472@brianmouton24727 ай бұрын
    • 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.

      @keyser456@keyser4567 ай бұрын
    • 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!

      @macobuzi@macobuzi7 ай бұрын
    • Our entire stack is .Net with a SPA TS framework, and we develop on Windows, Mac, and deploy to containers on Linux.

      @omegabit@omegabit10 күн бұрын
    • 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.

      @eldonad@eldonad2 күн бұрын
  • Because C# holds image of enterprise language like Java. That's all

    @user-zk5ym9ut1j@user-zk5ym9ut1j7 ай бұрын
  • 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. 🤘🤘😎😎

    @Kevin_Long@Kevin_Long6 ай бұрын
  • 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.

    @shosetsuninja3112@shosetsuninja31127 ай бұрын
  • 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.

    @the-niker@the-niker7 ай бұрын
    • 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.

      @BeepBoop2221@BeepBoop22217 ай бұрын
    • @@BeepBoop2221No hate on diversity but that's what the sumbarine company said in an interview before the disaster if I remember right. Just quoting ;)

      @the-niker@the-niker7 ай бұрын
    • @@the-niker it's more they know they will keep quiet to avoid getting fired.

      @BeepBoop2221@BeepBoop22217 ай бұрын
    • @@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.

      @hieverybody4246@hieverybody4246Ай бұрын
  • I think one thing is that most universities teach java.

    @sirkato7751@sirkato77517 ай бұрын
  • 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.

    @mealloc@mealloc7 ай бұрын
  • Fsharpers (all 5 of them) are REALLY pissed right now.

    @sergeybenzenko6629@sergeybenzenko66297 ай бұрын
  • 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.

    @verzivull@verzivull7 ай бұрын
  • 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)

    @claylenhart@claylenhart7 ай бұрын
  • 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.

    @thebitterbeginning@thebitterbeginning7 ай бұрын
  • .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.

    @sarunas8002@sarunas80027 ай бұрын
  • Rewrote the whole control plane from C to .NET, running on ARM Linux. Came out very stable and well structured.

    @SergLapin@SergLapin7 ай бұрын
  • 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

    @KadenCartwright@KadenCartwright7 ай бұрын
    • 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.

      @Nworthholf@Nworthholf7 ай бұрын
    • 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?

      @specex@specex5 ай бұрын
    • could anybody elaborate a bit more what's the point here.please?

      @BrickBazooka@BrickBazooka4 ай бұрын
  • 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`)

    @tarsala1995@tarsala19957 ай бұрын
    • 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.

      @gnanaitvara1246@gnanaitvara12467 ай бұрын
    • Who worries about memory management in C# ?

      @alanbourke4069@alanbourke40697 ай бұрын
    • ​@@alanbourke4069You still have to worry about memory management, garbage collector isn't a magic thing that automatically knows what to remove.

      @xfy123@xfy1237 ай бұрын
    • @@alanbourke4069 Recruiters at least

      @tarsala1995@tarsala19957 ай бұрын
    • ​@@alanbourke4069interviewers apparently and the other party when have to optimize poorly written things.

      @artemartem842@artemartem8427 ай бұрын
  • 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.

    @luisreis3202@luisreis32027 ай бұрын
  • They don't know what they're missing... C# has allowed me to solve crazy problems...

    @ChristianHowell@ChristianHowell7 ай бұрын
  • 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.

    @edgeofsanitysevensix@edgeofsanitysevensix7 ай бұрын
  • ROFL - best quote of the day... "There are F# developers and ALL 5 of them LOVE F# ..."

    @jpmcic@jpmcic7 ай бұрын
  • 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.

    @larsp5109@larsp51097 ай бұрын
    • Js (or any dynamically typed language really) should never be used as the first language, its that simple

      @Nworthholf@Nworthholf7 ай бұрын
    • 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.

      @paulie-g@paulie-g7 ай бұрын
    • @@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.

      @Nworthholf@Nworthholf7 ай бұрын
    • @@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#.

      @paulie-g@paulie-g7 ай бұрын
    • 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.

      @drrodopszin@drrodopszin7 ай бұрын
  • 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.

    @minciNashu@minciNashu7 ай бұрын
  • If C# is taught at college level, it will increase it’s usage in startups

    @jazzweather@jazzweather7 ай бұрын
  • 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.

    @klaesregis7487@klaesregis74877 ай бұрын
  • Been using C# for a decade and I love it.

    @bvboi@bvboi7 ай бұрын
  • My first language was c# and that has served me good since.

    @RealEngineer@RealEngineer7 ай бұрын
  • 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.

    @garylee867@garylee8677 ай бұрын
  • 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.

    @TurntableTV@TurntableTV7 ай бұрын
    • 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.

      @ImLasu@ImLasu7 ай бұрын
  • 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.

    @antnauman@antnauman7 ай бұрын
    • ​@@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

      @antosha2224@antosha22247 ай бұрын
  • 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

    @expertreviews1112@expertreviews11127 ай бұрын
    • Only a startup developers here, he-he

      @alexU42k@alexU42k7 ай бұрын
  • 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

    @huray9802@huray98027 ай бұрын
    • 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.

      @astrahcat1212@astrahcat12125 ай бұрын
    • WHAT are you talking about?? You're still stuck in 2004 .NET 1.1!

      @chris4321das@chris4321das4 ай бұрын
  • 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.

    @eherlitz@eherlitz7 ай бұрын
    • "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...

      @praetor47@praetor477 ай бұрын
    • 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 :)

      @MirkoVukusic@MirkoVukusic7 ай бұрын
  • 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.

    @HelixClovers@HelixClovers7 ай бұрын
    • 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.

      @JonitoFischer@JonitoFischer7 ай бұрын
    • @@JonitoFischer C# can do everything that matlab does. Matlab is dead, if you want to do scientific programming you just use python nowaydays.

      @JoseAlvarez-dl3hm@JoseAlvarez-dl3hm6 ай бұрын
  • 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.

    @Nworthholf@Nworthholf7 ай бұрын
  • 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.

    @ghaf222@ghaf2227 ай бұрын
  • 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.

    @Osirus1156@Osirus11567 ай бұрын
  • 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.

    @hyrr092@hyrr0927 ай бұрын
    • 1. It is, while it can technically run on linux, linux useres are clearly second if not third class citizens

      @Lena-yt3yl@Lena-yt3yl7 ай бұрын
    • @@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.

      @marioprawirosudiro7301@marioprawirosudiro73017 ай бұрын
    • @@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.

      @Lena-yt3yl@Lena-yt3yl7 ай бұрын
  • 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.

    @yatsuk@yatsuk7 ай бұрын
    • 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.

      @gnanaitvara1246@gnanaitvara12467 ай бұрын
    • 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.

      @petrmalecik5661@petrmalecik56617 ай бұрын
  • Javascript as a full stack language, please sent all those developers back to school.

    @Silentsouls@Silentsouls7 ай бұрын
    • how many multi-instance back-end applications are written in "full-stack" JavaScript?

      @native-nature-video@native-nature-video7 ай бұрын
    • It’s works both ways, no C# developer wants to get a job doing JavaScript anyway!

      @ghaf222@ghaf2227 ай бұрын
  • 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.

    @tanglesites@tanglesites7 ай бұрын
  • "Theres F# developers, and all five of them love it." Chapsas, Nick

    @FarukAFeres@FarukAFeres7 ай бұрын
  • 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.

    @McZsh@McZsh7 ай бұрын
  • 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.

    @auroraRealms@auroraRealms7 ай бұрын
  • 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.

    @proosee@proosee7 ай бұрын
  • 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

    @jeisuxco@jeisuxco7 ай бұрын
  • I'm working for the second startup in Scotland both use C# and . NET. :)

    @Picike85@Picike857 ай бұрын
  • Video about OOP negative points from your personal perspective would be really nice to watch!

    @dmitryborovych9135@dmitryborovych91357 ай бұрын
  • 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.

    @Matt23488@Matt234887 ай бұрын
  • Because until now there was no NET 8,the fastest release yet. 🎉

    @MaximilienNoal@MaximilienNoal7 ай бұрын
  • 9:27 "All five of them..." 😂

    @Chiramisudo@Chiramisudo7 ай бұрын
  • 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.

    @jamescharnley2522@jamescharnley25227 ай бұрын
  • 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.

    @earlh@earlh7 ай бұрын
    • 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.

      @omegabit@omegabit10 күн бұрын
  • 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.

    @dawizze1@dawizze17 ай бұрын
    • 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.

      @TheSpacecraftX@TheSpacecraftX7 ай бұрын
    • @@TheSpacecraftX US here.

      @dawizze1@dawizze17 ай бұрын
    • 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?

      @ghaf222@ghaf2227 ай бұрын
    • ​@@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.

      @xfy123@xfy1237 ай бұрын
    • @@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.

      @shimadabr@shimadabr7 ай бұрын
  • 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.

    @schulz5patrick@schulz5patrick6 ай бұрын
  • 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.

    @VeNoM0619@VeNoM06196 ай бұрын
  • 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.

    @marsgal42@marsgal427 ай бұрын
    • 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.

      @GdeVseSvobodnyeNiki@GdeVseSvobodnyeNiki7 ай бұрын
    • @@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.

      @marsgal42@marsgal427 ай бұрын
    • Good luck with MAUI, noobs

      @RogueTravel@RogueTravel7 ай бұрын
    • MAUI the new silverlight

      @NextProgrammer@NextProgrammer7 ай бұрын
  • 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.

    @olinzknihytovi@olinzknihytovi7 ай бұрын
  • The start up I work in uses aspnet 7 and it’s been a pleasure!

    @dungimon1912@dungimon19127 ай бұрын
  • 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.

    @Blu3Souls@Blu3Souls7 ай бұрын
    • 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.

      @DevMeloy@DevMeloy7 ай бұрын
    • 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.

      @SvdSinner@SvdSinner7 ай бұрын
    • @@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.

      @DevMeloy@DevMeloy7 ай бұрын
    • @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.

      @SvdSinner@SvdSinner7 ай бұрын
    • 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.

      @TheMonk72@TheMonk727 ай бұрын
  • 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).

    @r00tyschannel52@r00tyschannel527 ай бұрын
    • There's a lot of truth in this!

      @BrandonClapp@BrandonClapp7 ай бұрын
  • 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

    @hritikpurwar3115@hritikpurwar31156 ай бұрын
  • Calling JavaScript a real programming language is a bit of an overstatement 😂

    @apostolisparga@apostolisparga7 ай бұрын
  • 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?

    @T___Brown@T___Brown7 ай бұрын
    • TS for both: Angular in the frontend and Nest.js in the backend

      @flanderstruck3751@flanderstruck37517 ай бұрын
    • @@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.

      @T___Brown@T___Brown7 ай бұрын
  • "There is F# developers and all five of them love F#..." 😂😂😂

    @GambitVil@GambitVil7 ай бұрын
  • 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.

    @mathgeniuszach@mathgeniuszach7 ай бұрын
  • 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.

    @kunichiyawa1660@kunichiyawa16607 ай бұрын
  • 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.

    @MarkParkTech@MarkParkTech7 ай бұрын
    • not many people at looking at this obvious point

      @shiskeyoffles@shiskeyoffles7 ай бұрын
    • Everyone hates when Microsoft used to have hardware limited language but nobody ever cares that Apple has the same...

      @dmfaccount1272@dmfaccount12727 ай бұрын
  • 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.

    @andrew4x4au666@andrew4x4au6665 ай бұрын
  • 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.

    @dennycrane2938@dennycrane29387 ай бұрын
  • 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

    @liandrysanguish3103@liandrysanguish31037 ай бұрын
  • 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.

    @_Karlsson@_Karlsson7 ай бұрын
    • "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).

      @paulie-g@paulie-g7 ай бұрын
    • @@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.

      @_Karlsson@_Karlsson7 ай бұрын
    • 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. 😑

      @astrahcat1212@astrahcat12127 ай бұрын
  • Yes, I’d love to see a video on what you hate about OOP

    @PatrikBergsten@PatrikBergsten7 ай бұрын
  • 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

    @KoKnows31@KoKnows314 ай бұрын
  • 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.

    @KodingKuma@KodingKuma7 ай бұрын
    • Maui doesn't do Linux.

      @hieverybody4246@hieverybody4246Ай бұрын
    • @@hieverybody4246 , you can't win it all.

      @KodingKuma@KodingKumaАй бұрын
  • 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!!!

    @brandonochia9043@brandonochia90437 ай бұрын
  • "There are F# developers and all five of them..." 🤣

    @MikaelPorttila@MikaelPorttila7 ай бұрын
  • Yep. I started with JavaScript and Python because most courses used it, but now that I want to work professionally with C# I apparently lack previous C# experience. What a conundrum!

    @meltygear5955@meltygear59557 ай бұрын
    • That is a common dilemma. There is no one right approach. For some hiring managers, getting a C# certification might help. When I was a hiring manager, I was more willing to overlook technology mismatch if the candidate was clearly proficient in the technology that they did know. If you show you are an expert in JavaScript and Python, that might be enough. The idea is that good engineers are good in any technology. But plenty of hiring managers don't see it that way. I'd probably too be biased against just due to having only dynamic typing language experience. You should look to grow your skills and career, but don't be too concerned over specific technologies either. Enjoy programming in JavaScript and Python, everything has good and bad.

      @username7763@username77637 ай бұрын
  • 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

    @burattinodilegno@burattinodilegno7 ай бұрын
    • 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.

      @brianmouton2472@brianmouton24727 ай бұрын
    • 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

      @kevinferati3415@kevinferati34157 ай бұрын
    • That's no 1 reason

      @programmerjowo@programmerjowo6 ай бұрын
    • Then they certainly don't want to use JS. LOL

      @hieverybody4246@hieverybody4246Ай бұрын
  • I would also add the point that Microsoft has the annoying habit of launching technologies and then dropping them.

    @paulostradioti@paulostradioti7 ай бұрын
    • I miss Silverlight.

      @strandloper@strandloper7 ай бұрын
    • I will miss VS for Mac.

      @bdgza@bdgza7 ай бұрын
    • That’s not C#

      @jinushaun@jinushaun7 ай бұрын
    • Ever heard of Google? 😂

      @vladandreev1006@vladandreev10067 ай бұрын
    • Like new, faddish JS frameworks every week?

      @hieverybody4246@hieverybody4246Ай бұрын
  • C# is amazing language. I tried python, C, C++. But I like c#.

    @roman_prystaiko@roman_prystaiko7 ай бұрын
  • maybe the reasons why 9 of 10 startup fails sits on some misconceptions like embrace bies, trend gurus, early adopters technology and mindset of a product fast to build and not scalable for future.

    @programadorveiaco1986@programadorveiaco19866 ай бұрын
  • 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. 😜

    @PeteSauerbier@PeteSauerbier7 ай бұрын
  • 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.

    @Erik_The_Viking@Erik_The_Viking7 ай бұрын
  • Going for a different language than a highly used one because "developers are cheaper" is a really dumb criteria to use.

    @alexdegaston422@alexdegaston4227 ай бұрын
KZhead