Jump to content


Check out our Community Blogs

Register and join over 40,000 other developers!


Recent Status Updates

View All Updates

Photo
- - - - -

Important Programming languages

import

  • Please log in to reply
32 replies to this topic

#13 Chall

Chall

    CC Addict

  • Senior Member
  • PipPipPipPipPip
  • 349 posts
  • Location:Cedar Rapids, IA
  • Programming Language:Java
  • Learning:C, Java, C++, C#, Python, JavaScript, Assembly

Posted 04 October 2012 - 08:20 PM



I know a few electrical engineers that are.

Yeah, but is giving up your hypothetical life really worth it? The amount of time and energy you would invest into learning byte-code would be extreme. Unless you were certain you would benefit from it, there is 90% no reason to learn it. Back on track, lets stop talking about byte-code. This thread is about what languages would be good for Amaterasu, not whether or not it is practical to learn byte-code. :)

You are forced to take a class for electrical engineering, but I know a few people who enjoyed it.

But is it practical compared to programming languages?
  • 0
Speaks fluent Java

#14 WaterNode

WaterNode

    CC Resident

  • Advanced Member
  • PipPipPipPip
  • 69 posts
  • Location:Seattle, WA, United States of America
  • Programming Language:C, Java, C++, C#, Python
  • Learning:C, Java, C++, C#, Python, Lua, Assembly, Others

Posted 04 October 2012 - 08:56 PM

For electrical engineering, yes.
  • 0

#15 BenW

BenW

    CC Devotee

  • Community Manager
  • 976 posts
  • Programming Language:ActionScript
  • Learning:ActionScript

Posted 04 October 2012 - 09:32 PM

Also, if you plan on implementing your games into websites, I recommend Java, as I have yet to see a C++ in my browser.

That's only the case if his choice is solely between Java or C++. As far as embeddable games go, Java isn't the best option if you can pick from any language to learn at all (we have a similar discussion about it here).
  • 0

fss_overall.png

 


#16 BlackRabbit

BlackRabbit

    CodeCall Legend

  • Expert Member
  • PipPipPipPipPipPipPipPip
  • 3871 posts
  • Location:Argentina
  • Programming Language:C, C++, C#, PHP, JavaScript, Transact-SQL, Bash, Others
  • Learning:Java, Others

Posted 05 October 2012 - 02:53 AM

I think you there is not just one question but a couple involved. i would try to organize them in a list :

. Which languages are important learning-coding-wise ?
. Which languages are important career-wise ?
. What skill set looks better in a C.V ?

Am i anywhere near ?

About learning, we talk about a language who is easy enough to deal with your anxiety, meaning: you can think about some silly programs and quickly enough watch some results in the screen, that place is for logo in kids, and used to be basic back in time, then it kinda went to visual basic, now i am not sure ...
but i think, learning-wise, as if doing your first steps on coding, conditional, loops, operators, etc, the quicker and easier to code/test might be javascript, since you only need a text editor and a browser to do your first gibberish, no extra complications as IDE, configuration, compilation,linking or virtual machines.

that lang, the one you choose for learning purposes is very important cause the better you get with the basic concepts the easier you will find to jump to another languages.

Working wise there is the discussion, c, c++, Java looks like the more promising ones, still knowing how to code gets you nowhere, i mean you need some extra knowledge or specialization, like core programming, databases, gaming, cloud environments, massive use products, communications, information management (as in journalism instant news processing) and so on ...

whatever specialization is well rewarded if you go the extra mile to make yourself really good at it, but you need a profile, so get to know what do you like to do, maybe you are focused on security/hacking, who knows, but you need to know things about bizz along with coding.

My case, i am into performance (when i feel like seriously coding which is not my nowadays :P ) and big numbers, so i am the kind of guy who optimizes and makes services go from untenable stress to good run, that in coding wise, and in business wise, i optimize on cost, meaning i studied some about management, commerce and costing, and finally business balanced scoreboards, indicators, etc, so given a company big numbers, in any area, i know how to make the numbers run better, and that is a profile, the guy who watches for systems in a money-wise way, the one you want to supervise your electronic billing, transactions, etc cause he likes it and will find any related problem on it cause he owns it.

so think about your profile and then start making your decissions



Personally, programming languages are not important ... the main thing is how to analysis the problem and find solutions toward it. The main important programming language is the language that brings you money :) money money ... each programming language has its own specialty


and i agree 100% with VNFox about the problem analysis as super important!
  • 1

#17 Yannbane

Yannbane

    CC Addict

  • Advanced Member
  • PipPipPipPipPip
  • 238 posts
  • Programming Language:C, Java, C++, PHP, Python, JavaScript, PL/SQL, Lisp, Assembly, Bash, Others
  • Learning:Lisp, Scheme

Posted 05 October 2012 - 01:53 PM

I strongly suggest that you learn Assembly, for x86 or AVR microprocessors. It is the backbone of all modern computation, and people who aspire to be great programmers should definitely know at least the logic behind it and how it works.

Then, I suggest that you pick a high level language, like C++, and an even higher-level language, like Python. That can give you a very broad spectrum of knowledge over programming languages, but you will still need to learn general, language-agnostic things about programming, such as paradigms, design, OOP principles, and so on. Along doing all of this, you should also be studying computer science. What I do is simply look up the problems from national competitions, and go over them. Most are language-agnostic, but I do them in C++, as that is the standard here in my country.

Also, don't forget to check out some of the more, erm, specific languages, like Haskell or Lisp (Scheme), as that will broaden your knowledge of programming as well.

For this I cannot vouch personally, but many programmers I look up to have suggested reading SICP. I still haven't done so, but I plan to, as soon as my Kindle arrives.

I hope this helps!
  • 0

My blog: yannbane.com. I post about programming, game development, and artificial intelligence.


#18 VNFox

VNFox

    CC Devotee

  • Senior Member
  • PipPipPipPipPipPip
  • 648 posts
  • Programming Language:C#, PHP
  • Learning:Assembly

Posted 05 October 2012 - 02:37 PM

Wow I can't believe someone suggests to learn Assembly language ... :) It will be an amazing journey
  • 0

www.pickmike.com
I don't just develop software. I find solutions to your business needs.


#19 WaterNode

WaterNode

    CC Resident

  • Advanced Member
  • PipPipPipPip
  • 69 posts
  • Location:Seattle, WA, United States of America
  • Programming Language:C, Java, C++, C#, Python
  • Learning:C, Java, C++, C#, Python, Lua, Assembly, Others

Posted 05 October 2012 - 07:34 PM

If you want to learning all combine alnguage for programming that you have to learning PHP and java script. it is the very good cobined lnaguage for all programming language.

Thank you

Can you please tell me what you mean by "all combine language"?
  • 0

#20 SoulFireMage

SoulFireMage

    CC Newcomer

  • Member
  • PipPip
  • 22 posts
  • Location:Uk
  • Programming Language:C#, (Visual) Basic
  • Learning:C#, Python, Ruby, Lisp, Transact-SQL, Haskell

Posted 06 October 2012 - 12:32 PM

There's a book out there called 7 languages in 7 weeks that will take you through 7 contrasting languages; the idea being you widen the way you think about tackling problems by knowing how to express yourself somewhat in other programming languages.

Avoid "religion" in programming I would say; there used to be quite a lot of rivalry about "best languages" etc. If you get the book Coders at Work: Reflections on the Craft of Programming - https://www.amazon.c...nw_myk_ro_title you can read what 15 very influential programmers feel about some of our cherished languages.

Not all these folks love C/C++ or Java, and we are talking about folks who invented various languages here. Donald Knuth, The Art of Computer Programming is interviewed in the book for example. Or the inventor of Javascript.

It is worth understanding more deeply than basic syntax; get your head around a little history and context. Why do we have object orientated code, what is meant by imperative and contrast it with functional programming, how about aspect orientated...

And for more fun, understand how it's possible to combine all these in a variety of ways to use the right tool for the job.

Ok, I admit, some of the stuff I just said is a little out of context when you are starting out, so don't get too hung out one what you should learn first. Instead, what interests you? What do you fancy building? Would you like to work on the iPad? purely on the Web? desktop apps? etc A lot of stuff you may choose to write as you progress won't even begin to occur to you now as vaguely interesting. For example, because I work with an app that must talk to sql and access at the same time, I can't use any mainstream software to simplify it; so I'm making a simple class generator instead. To me, making this elegant and easy to use is interesting. It's a yawn to anyone not handling anything like this problem.

There's a book called Think like a programmer that may have some interest for you.

I love the .net framework which means I work with C# or Visual Basic, though F# - a functional language is available to me, as is Iron Ruby/Iron Python.

Now to finish off a little, if you learn the common languages, like Java, you also share the market with a LOT of competition. Same is true for C++/C and .net.

Lisp is less common, commands a higher price, I'm told is quite fascinating and flexible to use and offers interesting reward as a result. Less common or even niche languages trade lots of jobs for fewer jobs at a higher, far higher wage. So don't be quick to jump on a bandwagon. Consider your interests and what you might like to get out of it.

I'm a relative late newcomer to coding, didn't start as a youngster, don't have a hobbyist enthusiasm as I've learnt it piecemeal on the job-often when I was not meant to be :P so my knowledge has holes, like lack of a degree or experience. Though I bought a LOT of books.

My personal bias btw, I would not recommend c/c++ or assembly to any novice. Assembly is utterly irrelevent (please quoters, take the full context!), until you've got a fair fluency in a language like C# or something. Assembly won't help with any day to day programming in most jobs advertised, its best approached for pure interest. Unless you are writing c code for driver kernals or hacking/patching a bunch. It DOES have a place, but not as a recommendation for most programmers. Spend some time to get the general notion for sure, but don't waste weeks straining the brain working on it, unless you find a real world need.

My own approach grew out of need. We used Visual Basic in .net 4 and have a friendly IDE to help. I don't have to headache about remembering every tiny piece of syntax, the IDE helps. Instead I simply add pieces of understanding every time I code and keep snippets of particularly involved syntax to remind me. Save the brain space for understanding more, fluency in memorising language will come when you are deliberately solving problems with it.

To me, programming is the ** child of the unholy mating between maths and linguistics; it really does show.

Btw, is this rambly? I had a lot of beer, so sorry :).
  • 2

#21 BKTheRussian

BKTheRussian

    CC Regular

  • Member
  • PipPipPip
  • 36 posts
  • Location:So. California, U.S.
  • Programming Language:Python
  • Learning:C, C++, Assembly

Posted 06 October 2012 - 03:26 PM

SoulFireMage - that is a very very very good post. I, as a new person to programming, thank you for providing that kind of an insight and information.
  • 0

#22 SoulFireMage

SoulFireMage

    CC Newcomer

  • Member
  • PipPip
  • 22 posts
  • Location:Uk
  • Programming Language:C#, (Visual) Basic
  • Learning:C#, Python, Ruby, Lisp, Transact-SQL, Haskell

Posted 06 October 2012 - 09:05 PM

Thank you ! I was somewhat drunk and rambling mind :)

Btw imperative - how the computer does its job vs declarative, what results are required; e.g. Sql or HTML focus on what must be returned whereas standard c or c++ you focus exactly on the how.

Aspect orientated is really about addressing cross cutting concerns like logging or security that affect all layers of and application. Advice is injected into classes to enable the functionality of the aspect in question like writing to a central log etc.

Functional is an odd one for most imperative programmers, they're used to variable x being mutable. So dim x = 10 followed by x += 10 is fine in vb or c, yet in f# you can't do that you must assign the new value to a new variable, so Let x = 10, let y= x+10.

This immutability makes for no side effects, if one is writing pure functional code-great for parallel programming. The Haskell people are the ones for this. Mind you, there is plenty of scope in c# or vb for some of these benefits. .net framework is getting more functional, with lambdas and LINQ making it easier to combine the best of several worlds.

Btw if you go .net, learn LINQ the moment you understand how to use a List(of type) etc. querying objects is bloody useful. Generic programming is a great .net enhancement as well.

Also with .net you have mono, this allows programming for Android and I believe iPad, though I suspect with the latter serious work is far better in native OBjective C.
  • 0

#23 WingedPanther73

WingedPanther73

    A spammer's worst nightmare

  • Moderator
  • 17757 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others

Posted 07 October 2012 - 10:57 AM

I've got a review of 7 Languages in 7 Weeks in the blog. It's a great book to broaden your thinking about programming languages.

These days, I have a (short) list of languages I very much don't like (classic ASP being at the top of that list), but none that I'll fall on my sword to support. C++, PHP, and C# are all nice languages, while Delphi is a nice language that I use often. I've got a book on programming Sudoku in VB, even though I'm not a VB coder. Lisp and Erlang are on my "to learn" list.

Edited by Roger, 07 October 2012 - 12:01 PM.
added link to blog

  • 0

Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

My MineCraft server site: http://banishedwings.enjin.com/


#24 Colanth

Colanth

    CC Addict

  • Advanced Member
  • PipPipPipPipPip
  • 165 posts
  • Location:Fayetteville, NC, USA
  • Programming Language:PHP, (Visual) Basic, JavaScript, Visual Basic .NET, Pascal, Logo, Assembly, VBScript, Others

Posted 14 October 2012 - 04:12 PM

You want to build buildings but you don't know whether you want to be a carpenter or a plumber - which tools should you learn? (Programming languages are tools to allow you to write programs.) You're doing it backwards. Learn programming (algorithms, data structures, etc.) first. They work with all languages. Then decide which direction you want to go in and that will give you a choice of languages.

A programmer knows programming and at least a few languages. A coder may know a language or many languages, but he can't create programs, he can only code programs that someone else has created (maybe in that old programming language called English).
  • 0





Also tagged with one or more of these keywords: import