Jump to content



Photo

a little help of choosing a programming lang


  • Please log in to reply
14 replies to this topic

#1 SlayerS_BoxeR

SlayerS_BoxeR

    Neowinian

  • Joined: 10-December 12
  • OS: Win7 Pro
  • Phone: Nexus 5

Posted 10 December 2012 - 13:07


so I'm currently stuck for enrolling classes for school

because of the sched conflict, I either have to choose internet programming classes or for .net classes (I'm looking for a year and a half plan. for the first semester, I will take internet programming class. for the second semester though, I'm wondering whether I should take the next lv of internet programming class or for the first .net class. if I take the first .net class, then for my third semester, I will be able to take the next lv of .net class, but then I won't be able to take the second lv of internet programming class forever).

I know that the trend of IT, and the programming languages change fast.

what do I want to be? I can either be a web developer/.net developer, mobile/tablet, etc
but in long term i am willing to shift to the business field


so as I've said, for the first internet programming class, I will be able to learn a bit of html, mysql, php, css, a bit of javascript, and xml

for the second lv of internet programming class, you get to learn jsp, jdbc, ejb jndi, xml, jsp, and more advanced stuffs

for first .net class (i have to take this first in order to be enrolled for the next lv, which is .net enterprise class) - you get to learn c#, .net framework

for the second lv .net class - you get to learn asp.net, ado.net entity framework for web app, deployment database access, and etc.

to some extent, I would like to expand my skills in database, if I could either mssql or mysql

in terms of job market/demand (for now and for the next 3-5 years maybe?), which is more demand?? what do you reckon?? I know I'm the one who decides at the end, but I still wanted to take your advice I would really appreciate if you could give, advice me specifically.


#2 psyko_x

psyko_x

    Neowinian

  • Joined: 13-July 02

Posted 10 December 2012 - 13:38

.Net is specific to Microsoft. Typically I hate learning vendor specific languages and as a beginner, I'd say learning industry standard languages is much more useful. In this case though, I'd recommend taking the first 2 .net classes and here's why...

Once you become good at an object oriented language like java, C++ or C#, it's very easy to pick up any other OO language. You're going to find a 100 different programming and scripting languages that you can use for any given task. The main difference is the syntax and that's easy to learn. The benefit of becoming an expert in one language (or set of related languages) is that you'll learn the difficult things like search algorithms, security, performance optimization, etc. It's very easy to pick up new languages, like java for example, once you've mastered C#.

From your description, it sounds like the internet programming classes are trying to tackle way too much stuff at once. HTML, PHP, CSS etc are things you can learn quickly on your own. Having a class that introduces you to the 1000 different internet technologies out there is a waste of time. You need to hone your object oriented programming skills. After that, you can quickly pick up these other things.

#3 +Karl L.

Karl L.

    xorangekiller

  • Tech Issues Solved: 15
  • Joined: 24-January 09
  • Location: Virginia, USA
  • OS: Debian Testing

Posted 10 December 2012 - 16:09

You will need to learn languages on your own anyway. I definitely agree with psyko_x that the best thing to do is master C++, C#, or Java first. Once you have a firm grasp on one of those languages, it will be much easier to learn virtually any other OO language, including ones you would be taught in your web programming classes, like PHP and Javascript.

Also, you might be interested in Coder Radio. They have answered questions very similar to yours in the past. Take it from someone with experience.

#4 Andre S.

Andre S.

    Asik

  • Tech Issues Solved: 12
  • Joined: 26-October 05

Posted 11 December 2012 - 01:03

Go for C# it'll make you a much more versatile programmer. Knowing a typical C-based OO language is a huge asset and will open many doors to you. University is not the time to specialize in one field it's the time to learn as many different things as possible. Open your horizons now and you'll be able to make better career choices.

.Net is specific to Microsoft. Typically I hate learning vendor specific languages and as a beginner, I'd say learning industry standard languages is much more useful.

Oh please. C# is an ECMA standard as with most of the .NET framework. Currently you can learn C#, the .NET framework, and most of the dozens of languages that run on this platform (most of which are open-source) without using any software or platform from Microsoft. While you're at it, why not mention Java was designed by Sun and C by AT&T, and if anything ever was vendor-specific it's been C++ compilers and "standard" libraries.

What definitely doesn't matter for a beginner is who makes the language, how it gets standardized, or even who uses it - heck Scheme is a fine choice for learning even if it doesn't see much use in the industry.

#5 Colin McGregor

Colin McGregor

    Neowinian Senior

  • Joined: 02-September 11
  • Location: Ontario, Canada
  • OS: Windows 8 x64, Gentoo x64 Sometimes
  • Phone: Samsung Ativ S WP8

Posted 11 December 2012 - 01:07

Once you become good at an object oriented language like java, C++ or C#, it's very easy to pick up any other OO language. You're going to find a 100 different programming and scripting languages that you can use for any given task. The main difference is the syntax and that's easy to learn. The benefit of becoming an expert in one language (or set of related languages) is that you'll learn the difficult things like search algorithms, security, performance optimization, etc. It's very easy to pick up new languages, like java for example, once you've mastered C#.


kinda true. I learned C# and now i'm in the process of learning c++ and c++ feels like i'm going backwards. I should have learned c++ first

#6 psyko_x

psyko_x

    Neowinian

  • Joined: 13-July 02

Posted 11 December 2012 - 02:07

Go for C# it'll make you a much more versatile programmer. Knowing a typical C-based OO language is a huge asset and will open many doors to you. University is not the time to specialize in one field it's the time to learn as many different things as possible. Open your horizons now and you'll be able to make better career choices.

Oh please. C# is an ECMA standard as with most of the .NET framework. Currently you can learn C#, the .NET framework, and most of the dozens of languages that run on this platform (most of which are open-source) without using any software or platform from Microsoft. While you're at it, why not mention Java was designed by Sun and C by AT&T, and if anything ever was vendor-specific it's been C++ compilers and "standard" libraries.

What definitely doesn't matter for a beginner is who makes the language, how it gets standardized, or even who uses it - heck Scheme is a fine choice for learning even if it doesn't see much use in the industry.


If you can develop and run .net applications on linux and mac OS, so be it. I've never written a C# program and didn't realize you could do that. I do find it interesting that you used the word "most" 3 times, but whatever.

As for recommending a language like Scheme to a new programmer, I think that's pretty absurd. There's a huge benefit to starting with a much more widely used language. It's easier to find tutorials on the internet, in books, on forums etc.

#7 Andre S.

Andre S.

    Asik

  • Tech Issues Solved: 12
  • Joined: 26-October 05

Posted 11 December 2012 - 02:21

As for recommending a language like Scheme to a new programmer, I think that's pretty absurd. There's a huge benefit to starting with a much more widely used language. It's easier to find tutorials on the internet, in books, on forums etc.

Yet Scheme is widely used in the academic world because it's a very small and consistent language that's ideal for teaching functional concepts. It's popular enough that there are several Scheme questions every day on stackoverflow.com and several tutorials and books to be found.

#8 psyko_x

psyko_x

    Neowinian

  • Joined: 13-July 02

Posted 11 December 2012 - 02:33

Yet Scheme is widely used in the academic world because it's a very small and consistent language that's ideal for teaching functional concepts. It's popular enough that there are several Scheme questions every day on stackoverflow.com and several tutorials and books to be found.


Everything's relative. Whatever number of Scheme questions are on stackoverflow each day, you can multiply that by a few orders of magnitude for java etc. It will be more than the "several" questions you see about Scheme

#9 Andre S.

Andre S.

    Asik

  • Tech Issues Solved: 12
  • Joined: 26-October 05

Posted 11 December 2012 - 05:00

Well of course. As I said, it's used mainly for its intrinsic qualities at teaching functional concepts rather than its real-world use.

#10 OP SlayerS_BoxeR

SlayerS_BoxeR

    Neowinian

  • Joined: 10-December 12
  • OS: Win7 Pro
  • Phone: Nexus 5

Posted 12 December 2012 - 02:02

thank you all!!
i think i now understand the "flow"

i have one more question, and i would really appreciate it if you could help me out again :)
to reduce the confusion, let me briefly list and explain the content for the subjects


data analytic: intro to data mining, visual exploration of data mining, data preprocessing transformation, association rules mining, classification and prediction (such as tree introduction bayesian, classification by backpropagation, etc), clustering, mining sequential data, and etc

adv db: exploration data mining, application dw, datamart, corporate data resources, data resources integration, transaction processing support

object relational db: programming SQL :)

unix: learning unix lol

operation system for network security: unix is prerequisite - (for ms 200x release, cisco, unix, etc) learning about process, cpu scheduling, deadlock, main memory, virtual memory, network security, file system, SElinux in practice, routing security, etc



web svc tech & app: intro to distributed system, EAI, socket programming, web svc programming (SOAP, WSDL, UDDI), platform, svc oriented architecture, etc, etc. the course is half based on research i guess? and nearly half programming

enterprise computing: intro to enterprise computing, component framework and architecture (OMG CORBA, COM/DCOM, J2EE, Microsoft .Net), Data integration methods and techniques, e-business integration: standards and technologies, EDI, BizTalk, RosettaNet, ebXML, Emerging trends in enterprise computing: Utility Computing, WEB 2.0, Enterprise 2.0, Software as a Services (SaaS): benefits and challenges, examples. it will be based on research assignments, presentation, and a final


so i'm trying to pick one out of three ways. i will take unix (i mean its good to know for programming right??), and O-R DB for sure

** i'm confused whether i should take data analytic and unix prior taking object relation database course in case it will help?
** and i'm also confused whether i should learn adv database (which covers this and that but don't think it covers specific for each) or just pure data mining?? they all seem to be useful

1. unix --> OR DB --> web svc computing (and eliminate enterprise computing? bc it seems useless? pure research/case study right?) and operation system for network security

2. unix --> OR-DB, adv. DB --> web svc + os for network security or data analytic (what do you recommend?)

3. data analytic --> OR--DB + unix --> web svc + os for network security





thank you :cry: :cry: :cry: :cry: :cry:

#11 +Karl L.

Karl L.

    xorangekiller

  • Tech Issues Solved: 15
  • Joined: 24-January 09
  • Location: Virginia, USA
  • OS: Debian Testing

Posted 12 December 2012 - 04:07

I would go for the second option, with network security. I strongly believe that learning *nix (whether that be FreeBSD, Linux, or some other UNIX variant) is extremely beneficial for any serious developer and should be done fairly early on. (Disclaimer: I am a heavy Debian Linux user, so I might be slightly biased in that regard.) Neither data anlaytic nor enterprise computing seems particularly useful to me based on your descriptions. For a backend web developer/sysadmin type of position, UNIX -> OR-DB + Adv. DB -> Web Svc + OS Net Sec seems like the right order to me. Dr_Asik, feel free to disagree with me again.

#12 +SharpGreen

SharpGreen

    Now with built-in BS detector.

  • Tech Issues Solved: 1
  • Joined: 20-August 04
  • Location: North Carolina
  • OS: Ubuntu 14.04, 12.04 and Windows 8.1
  • Phone: Galaxy Nexus

Posted 12 December 2012 - 04:23

I'd also vote for option 2, because lets face the majority of internet runs on Linux so knowing the basic concepts of how it works would be a good idea. Even if you are only doing programming, especially web-based stuff, its always good to know the ins and outs of the platform you'll be dealing with.

(Also I am a part time Linux user/sysadmin so I might be a bit biased.)

#13 Matthew_Thepc

Matthew_Thepc

    Neowinian

  • Joined: 16-July 11
  • Location: San Jose, CA
  • OS: Windows 8.1 RTM

Posted 12 December 2012 - 04:34

I'd go for .NET; it's one of the best object oriented languages IMO (and there's not much disagreement that VS is by far the best IDE), and it runs on/has been ported to a variety of operating systems (including Windows, Linux, OSX, Windows Phone, iOS, etc.).

As for which will have more demand, I would have to say that in the business market you'll probably looking at .NET and other OOP languages, but if you're planning on working for Facebook or starting your own Internet company I'd go with the second level of web development. As long as you have the basics of web development down, imo, it shouldn't be too hard to learn the rest of it (and the rest of it will definitely be easier to learn if you've spent some time learning .NET).

#14 OP SlayerS_BoxeR

SlayerS_BoxeR

    Neowinian

  • Joined: 10-December 12
  • OS: Win7 Pro
  • Phone: Nexus 5

Posted 12 December 2012 - 08:02

xorangekiller,

thank you so much for your reply. ive realized that you replied for both of my questions.
trust me they were long long questions lol but i truly appreciate it :D :D
your answers rly helped me a lot!!

I would go for the second option, with network security. I strongly believe that learning *nix (whether that be FreeBSD, Linux, or some other UNIX variant) is extremely beneficial for any serious developer and should be done fairly early on. (Disclaimer: I am a heavy Debian Linux user, so I might be slightly biased in that regard.) Neither data anlaytic nor enterprise computing seems particularly useful to me based on your descriptions. For a backend web developer/sysadmin type of position, UNIX -> OR-DB + Adv. DB -> Web Svc + OS Net Sec seems like the right order to me. Dr_Asik, feel free to disagree with me again.


hmmm i see i see!!!

thx for the advice :D :D

I'd also vote for option 2, because lets face the majority of internet runs on Linux so knowing the basic concepts of how it works would be a good idea. Even if you are only doing programming, especially web-based stuff, its always good to know the ins and outs of the platform you'll be dealing with.

(Also I am a part time Linux user/sysadmin so I might be a bit biased.)



#15 AWilliams87

AWilliams87

    Neowinian

  • Joined: 07-November 11
  • Location: Brooklyn, NY
  • OS: Windows 8 Enterprise edition

Posted 12 December 2012 - 09:25

:rolleyes: