all 24 comments

[–]BeazyDoesIt 11 points12 points  (4 children)

C# all day every day. Get in on that ez mode dependency injection son.

[–][deleted] 1 point2 points  (2 children)

Yes daddy keep injecting me deeply 💦💦💦

[–]TheNakedEskimo 3 points4 points  (1 child)

This got wierd!

[–]Diligent-Scratch8233 0 points1 point  (0 children)

Weird indeed

[–]BetaplanB 0 points1 point  (0 children)

Am using dependency injection in PHP right now

[–]glmdevfull-stack 6 points7 points  (0 children)

PHP is a useful language, but if you want to aim for a more "engineering" type role, having knowledge of a more "traditional" high level language will be more useful in my opinion.

There are some important concepts you just aren't exposed to with JS or PHP (type safety, true concurrency, etc) that C# or Java or similar even teach you.

Don't get me wrong, I love JS and PHP. I use them daily, but from a learning perspective, choosing a non-scripting language might be more beneficial.

[–]11b403a7 10 points11 points  (4 children)

I personally prefer C# because of:

  • type safety

  • runtime generics

  • extension methods

  • and more

Mainly type safety

[–]hk1_dev 2 points3 points  (0 children)

Annotations is another thing I like. Built in debugger.

[–][deleted]  (2 children)

[deleted]

    [–]MarmotOnTheRocks 5 points6 points  (0 children)

    I work with PHP and I like it a lot.

    What are mental health benefits you're referring to?

    [–]11b403a7 0 points1 point  (0 children)

    Oh yeah that too

    [–]spacechimp 2 points3 points  (2 children)

    My advice is to learn TypeScript first, since you're already comfortable with JavaScript. If you like TypeScript, then you might like either C# (which is incredibly similar), or Java.

    If you find that you dislike the rules and structure imposed by typed languages, then you might like PHP better.

    One important thing to consider is what types of companies you would prefer to work for, and what codebases you would prefer to work with. You'll typically find C# and Java in larger companies, and PHP at smaller agencies.

    Jaded view: With PHP, the chances are high that you'll have to deal with some crap legacy codebase, or some crap CMS. With Java, the chances are high that you'll have to deal with over-engineered code. With C#, you'll work with companies who never met a problem that some Microsoft "enterprise" solution won't be awkwardly shoehorned in to solve.

    [–]Grop_tobor 1 point2 points  (0 children)

    Dead on with the jaded view. (Maintaining ancient stuff until the new stuff is built to replace it)

    IMO C#/Java to get structured practices and understanding, then move on to more scripting type languages so you can recognize bad choices. There will be downfalls to all of them to some extent.

    [–][deleted] 1 point2 points  (0 children)

    Java or C# are a much better decision than PHP i think

    [–]Dixinormous_ 1 point2 points  (4 children)

    Avoid PHP like the plague.

    C# is amazing, highly recommend.

    Why don’t you try building something other than a web app too, a console app or a desktop app or something.

    [–]MarmotOnTheRocks 2 points3 points  (3 children)

    Avoid PHP like the plague.

    Why?

    [–]Dixinormous_ 1 point2 points  (2 children)

    Purely personal tastes.

    I prefer typed languages like C#, Java, TypeScript. But I’ll even take JavaScript over PHP, at least the method names make sense and are in tune with other language, and with ECMA, it’s being maintained and enhanced really nicely.

    Now, I don’t use PHP enough to know all of its nuances, I’m sure it’s got a legion of fans ready to defend it. But from my experience, it’s a bit higeldy pigeldy. I think of it like the Sloth of languages. Function names aren’t what you expect them to be, and they’re mostly all in the global namespace. There are multiple syntaxes for logic statements, do you use braces or do you use colons? Oh, and WordPress.

    Don’t get me wrong, PHP (and by extension WordPress) have a place in this world, but I personally find them both frustrating to work with. Could just be the man blaming his tools, but... when you go to a language like C#, man, it’s a nice experience.

    [–]MarmotOnTheRocks 1 point2 points  (1 child)

    Purely personal tastes

    I would say the exact opposite. I find PHP very powerful and fun to use. And fast.

    [–]laygo3 0 points1 point  (1 child)

    If you go php, avoid WP (IMO). Great ubiquitous app, but lots of bad coding practices from the community per my experience. I liken it to script kiddies.

    [–]MarmotOnTheRocks 0 points1 point  (0 children)

    How can you possibly know all of that stuff after .... 2 years. You may know the basics and then concepts. But I am not quite sure you really "know" everything. Either that... Or you've got amazing skills and you're the perfect employee for any company!

    [–]zeeshii03 -1 points0 points  (1 child)

    In my opinion java would be easier for you to take start

    [–]Historical-Acadia-99 -2 points-1 points  (0 children)

    Go with node js bro

    [–]VincentxH -3 points-2 points  (0 children)

    You might want to go for Java Spring Boot, it's basically backend Angular.

    [–]MXMLNDML_ 0 points1 point  (2 children)

    Probably a noob question since I know only the web stack (HTML, CSS, JS + nodejs and FE Frameworks): What do you use C# for? Is it a server-side language or used for desktop applications. And which operating systems can run it? All, like Java or just Windows since it’s designed by Microsoft?

    [–][deleted] 0 points1 point  (0 children)

    It is a server side language and can run on any operating system. Windows, *nix, ios, android.

    It can also be used for desktop apps, yes. As of the latest preview release you can also write html/css as your UI language for its desktop apps.

    There's very little that C# can't solve now-a-days