Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Learn C# or Java for Web Development [closed]

Tags:

java

c#

.net

I'm not sure if this is the best way to ask this question but I'm in the very early stages of learning programming/development and there are a lot of things that I would like to do including web development and at some point when I have some proficiency, mobile development.

I started out thinking I would learn Java because of its overall pervasive presence in the world of development and especially with J2ME's saturation in mobile development. It seemed however that the .NET framework, specifically C# was better suited for web development given the whole system/framework.

It seems that C# would be a good compromise to a language for both web development and application development, and hopefully not a difficult switch to Java/J2ME given the similarities between C# and Java.

Java, it seems is not as convenient for web development in my very limited experience. It seems that there are comparatively fewer hosting providers.

My question is, is this an accurate assessment of Java? Is it just as suited for web development as .NET with hosts and frameworks? I know it's a great language but I'm just not clear on what the typical roadmap is for doing web development with it.

Apologies for the verbose question. Any input would be much appreciated.

like image 832
Mackristo Avatar asked Mar 12 '09 03:03

Mackristo


People also ask

Is C easy to learn?

The C language, which is quite simple, is not tied to any particular hardware or system. This makes it easier for a user to write programs that will run without many (or any) changes on practically all machines.

Can I learn C in a week?

The Basic Syntax: A Few Days – 1 Week I think it's safe to say you can learn this within the first few days to a week of picking up the language. The syntax for C is actually pretty simplistic. It's the easier part of picking up the language.

Can You Learn C on your own?

You could also learn C programming on your own, at your own pace — it all depends on how you choose to go about it. The length depends in large part on your coding experience and the time you have available to devote to it.

Should I learn C or C++ first?

There is no need to learn C before learning C++. They are different languages. It is a common misconception that C++ is in some way dependent on C and not a fully specified language on its own. Just because C++ shares a lot of the same syntax and a lot of the same semantics, does not mean you need to learn C first.


1 Answers

In addition to some of the remarks made already, there are other things to consider professionally:

  1. Enterprise software is largely dominated by Java because many large scale clients prefer to deploy on a UNIX environment and the .NET CLRs that are out there don't really agree with most IT shops of these large clients.

  2. Java is generally considered to be a more attractive acquisition target in the enterprise software space.

  3. Geographical demand seems to be disparate between the two. On the west coast, Northern California area, Java dominates. What you specialize in may dictate where you will find work.

If your interest is in building a consumer site, many consumer sites are built on neither Java nor .NET/C# these days. In addition to the old PHP standby - there is also Django/Python and Rails/Ruby worth considering. There are extremely mature solutions for deployment in all of these areas. I know this from experience.

IMO, the Rails stack is light years ahead of anything that is offered in the Java world which in most cases still requires you to stitch together a disparate platform and hope it plays nice (this is less of an issue with C#/.NET). The strongly typed languages themselves also tend to be more verbose than the Python/Ruby where you can take advantage of functional programming techniques such as clojures and lambdas.

Moving between languages is easy enough, but as is the case with programming, it's leveraging what's already been built - that's the tricky part. Learning the language is 10% of the effort towards true mastery. Knowing the vagaries of the framework you are using, the libraries, and understanding what's available is the tricky part. The Java Foundation Classes alone comprise of thousands of class files! It's important to master at least one platform before skipping about.

like image 118
hyuan Avatar answered Oct 06 '22 01:10

hyuan