17

I'm really thinking about drooping Php and start learning C#(.NET)
Is it worth it ?

Comments
  • 5
    <opinion>
    Not unless you want to enter a world of Windows. PHP is a great language, but if you're looking for a change try Go (if you want some lower level action) or Ruby (if you're looking for something simple and powerful.
    <\opinion>
  • 0
    Is "GO" good for web development?
  • 0
    @robindotnet it can be. I haven't used it yet myself, but heroku supports it. It's also a compiled language, so you don't get many of the hard to find exceptions that you get when using PHP. it does have a bit more of a burning curve than Ruby though
  • 2
    knowing c# can only be an asset, however knowing other things could potentially be a bigger asset
  • 5
    @dev0urer dotnet has become way less windows dependent in just the past year. running the recent release of asp.net core on mac and Linux right now
  • 3
    I say .net, it is the most in demand developers right now. And it is an awesome language 😃
  • 7
    It's a well structured and thought out language. unlike php. :) there are way less shitty c# hacks in the world...

    I'd say C# is the best choice for large business layers, OOP,.etc.
    .net is a very nice environment to work with, it's very feature rich and VS arguably has the best autocomplete experience ever.
    there's lots of demand and well paid jobs.

    But I'd say if you're doing hobby projects it's not worth it. it feels more clunky and less enjoyable than scripting oriented languages.
  • 3
    C# is pretty sweet. But for small things it's like pulling teeth sometimes. I was doing some data structure refresher studying and found myself screaming at the screen pretty often.
  • 4
    potentially unpopular opinion:
    for web development and fast prototyping, I'd learn nodejs. For all I/O operations it's hilariously fast, and it runs most actions async. the only downside as far as I'm concerned is callback hell.

    however, if you're learning primarily to apply for jobs, .net is probably better simply because it's in high demand. I'd recommend https://mva.microsoft.com/en-US/... for asp.net mvc training, as it's a very thorough course.
  • 1
    @jiraTicket: I do not agree with your comment that C# feels 'clunky' for hobby projects (or any other language/platform for that matter) It depends on your experience with it and how comfortable you are with it.

    One of my own hobby projects consist of a C# backend which runs on a raspberry pi (and it isn't clunky, since i have a strong C# background). I am also developing some frontend stuff for it with django, python, knockout.js, and I find that really 'clunky' (because i can't find my way around YET)
  • 2
    by all means, drop php. if you're looking into something new to learn, Python might be a good start: it's robust, easy to get into and very in demand.
  • 7
    @yusijs big ++ for node. Also I like the description "hilariously fast" lol
  • 2
    If you are freelancing and need to push projects out extremely fast, I would stick to PHP. C# requires time and proper specifications (that not all projects get) to the way the system works as it will be far harder to change for subsequent stages after release. This is of course initially, once you get on top of .net it will be easier to smash the jobs out.
  • 3
    Move to JS stack? Learn ReactJS, MongoDB, ExpressJS and you are good to go. You can even later learn React Native to build cross platform mobile applications. So you'll have expertise on all sides
  • 2
    @tahnik I'm obligated to also throw a shoutout to redux. Best companion to react that exists IMO
  • 0
    @tahnik or the mean/mea2n stack - both are good options, imo, and allow you to do cross platform stuff (electron for desktop, nativescript,cordova or ionic for mobile). I'm not saying react isn't a good option (it is!), just mentioning angular(2) as well :-)
  • 0
    drink the JS koolaid! it's what all the cool kids are doing! (Google github activity by language)

    srsly though: node for server, electron for x-platform desktop, cordova for mobile, and obviously the browser. it covers _every_ platform.

    es6+ makes it a serious language for large (or small) scale development. Js isn't just for your stupid jquery carousel widget anymore, look at how many of the top companies are making serious Investments in JS. Facebook, Netflix, Instagram, Microsoft, etc, etc

    I totally recomend typescript though. It's gotten a lot less unwieldily in the past year & a half or so. if you're already using es6, it's not a big jump. same exact syntax, just adding static typing. The DX is 1000x better too, totally worth the little extra setup time when creating a new project.
  • 1
    @rozzzly agreed on typescript ! I've made the switch for all new js projects I build to typescript, mainly just for the severe hardon I have for types. :3
  • 0
    @yusijs

    only thing I miss is es2015 object spread

    ```javascript
    const foo = { bar: 7, biz: 'baz' };
    const xyz = { a: 1, b: 12, ...foo };
    // xyz = { a: 1, b: 12, bar: 7, biz: 'baz' }
    ```
    I wept when I had to revert code to using `assign`, doesn't feel right 😭 the there's an open PR on there typescript repo but it hasn't moved in a while, maybe like 2.1+? that seems forever away ⏰
  • 0
    Try learning Go instead of C#. Doing the same thing right now.
  • 0
    @rozzzly I wasnt even aware object spread made it into es2015, I thought it was slated for es7 (or es2016, I keep forgetting -_-)
  • 0
    Pardon me, it's not es6. I know it's not es2016 either but was unsure of the exact version. Being too lazy to Google the candidate's proposal status, I just said es6 😯 since the beginning I've been using the stage 0 transforms, so to me at least, object spread came along with const/etc
Add Comment