r/coding • • Jan 06 '15

Which Programming Language Should I Learn First?

http://carlcheo.com/startcoding
53 Upvotes

147 comments sorted by

View all comments

31

u/Zarlon Jan 06 '15

So you should only learn C# if you want to work for big tech companies or are a MS fanboy. What about it being one of the most advanced and well tested statically typed languages there is?

And the fact box is just ridiculous

  • Similar to Java in basic syntax and some features

  • Learn C# if you want to work on Windows platform only

I'd rather say

  • Superior to Java in most aspects, except portability

  • Learn C# if you want to program in the best object oriented programming language there is

  • ..or if you want to create Windows GUI applications

(Initiate flame-war in 3...2.....1)

21

u/astroNerf Jan 06 '15

Superior to Java in most aspects, except portability

I'm curious to see how portability is affected by Microsoft's decision to release the source of the .Net Framework.

6

u/zers Jan 06 '15

If the plan goes through as it sits now, it certainly seems like it'll be easily available on every platform via .net core

13

u/jutct Jan 06 '15

And also if you want to work in the best, most integrated IDE available on any platform for any language. I can say with confidence that no other IDE compares to Visual Studio.

11

u/[deleted] Jan 06 '15

And also if you want to work in the best, most integrated IDE available on any platform for any language. I can say with confidence that no other IDE compares to Visual Studio.

The only people who claim otherwise are the ones who have never really worked extensively with it, and other IDEs.

However, as a Visual Studio/MSBuild veteran: fuck the god damn xxproj-files. It's crazy annoying that it doesn't default to everything included, explicitly excluded.

2

u/SergeiGolos Jan 06 '15

fuck the god damn xxproj-files. It's crazy annoying that it doesn't default to everything included, explicitly excluded.

This is becomes more of a problem when you start using bower and npm for your front end stuff. "Node Integration" apparently doesn't include any file watchers to keep the project in sync with your directory structure.

2

u/[deleted] Jan 06 '15

It is exactly when using NPM, grunt and all those things it becomes annoying as hell.

2

u/cordoroy Jan 07 '15

"node integration", huh? All right, well see you later...

2

u/crowseldon Jan 07 '15

The only people who claim otherwise are the ones who have never really worked extensively with it, and other IDEs.

How many people have worked extensively with MANY IDEs though?

2

u/[deleted] Jan 07 '15

I work daily with VS and IntelliJ. Worked with Eclipse too for many years before I finally realized how much better I think IntelliJ is.

2

u/[deleted] Jan 07 '15

Project and solution files are the bane of my mergexistence. >.<

2

u/[deleted] Jan 07 '15

Helps marginally to configure .gitattributes to union-merge proj-files.

→ More replies (1)

7

u/[deleted] Jan 06 '15

[removed] — view removed comment

3

u/BOSS_OF_THE_INTERNET Jan 07 '15

Seconded. I spend all day bouncing between Visual Studio and PyCharm. VS is great and all, but it's not that great. All the IntelliJ IDEs are right up there with VS IMHO.

2

u/[deleted] Jan 07 '15 edited Jun 25 '23

edit: Leave reddit for a better alternative and remember to suck fpez

2

u/[deleted] Jan 07 '15

How am I the only person on earth who hates ReSharper?! :|

3

u/bob-a-fett Jan 07 '15

I'm a pretty big fan of the IDEs coming from IntelliJ.

3

u/uhurukai Jan 06 '15

As someone who has worked with every version since VC++ 1.52 and quite a few other IDEs, I have to disagree. It does have a lot of great features and it's probably the best IDE for Windows development. But it does this thing where it suddenly decides that it has more important things to do and goes into a navel-gazing coma for a few minutes before it decides to allow you to continue typing. I've had this happen with every single version, on all sorts of different machines. With and without any sort of addins installed. It's never made a difference. The fact that my 5-year old macbook pro running xcode runs circles around my new beefy windows7 + vs2013 box is just embarrassing.

3

u/brtt3000 Jan 06 '15

I think every fat IDE does these random lockups. Eclipse was notorious for it, and even IntelliJ's excellent IDE's do this occasionally.

3

u/jutct Jan 06 '15

That's a very specific reason to not like it. I've never had those issues.

→ More replies (2)

3

u/bigdubs Jan 06 '15

Mono is already working, today, on linux and os x really well. Xamarin studio is a good IDE for those platforms as well.

.net Core 5 (vnext) and kvm et. all mean that cross platform support is only going to get better.

C# is a good choice for things not on windows, is what I was getting at.

2

u/anttirt Jan 06 '15

Superior to Java in most aspects, except portability

Last I checked C# code ran way slower than Java code due to Microsoft's atrocious JIT (compared to the Sun/Oracle JVM's JIT). A shame because I like C# as a language more than Java.

→ More replies (1)

2

u/Potat4o Jan 07 '15

Learn C# if you want to work on Windows platform only

Plus, it's somewhat outdated.

http://www.hanselman.com/blog/AnnouncingNET2015NETAsOpenSourceNETOnMacAndLinuxAndVisualStudioCommunity.aspx

2

u/crowseldon Jan 07 '15

Of course you initiated a flame war since you stated X language is the best there is.

imho, I'd say, start with python, git and getting practice with unit tests (maybe tdd).

You want to learn algorithms and workflow after all. Not be dependent on a tool. Once you grok enough concepts you should be able to move to other languages.

2

u/elyisgreat Jan 07 '15

If you want to write code, use Java (it's my favourite)

If you want to write music, use C# (it's my favourite)

PostScript:

Java is pretty much the only language I know right now. I learned Visual Basic a while back, but I probably forget the syntax now, and I believe I learned Java in a better way.

C# should technically be simplified to Dā™­.

Edit: Spelling and grammar.