Page 1 of 2 [ 22 posts ]  Go to page 1, 2  Next

youwho
Tufted Titmouse
Tufted Titmouse

User avatar

Joined: 24 May 2010
Age: 41
Gender: Male
Posts: 40

27 Apr 2011, 7:37 pm

I'm getting a bit stuck deciding which language I should try to pick up next.

I did a bit of Logo in primary school, but was only taught a little bit of QBasic during GCSEs and A levels. I didn't get into programming much while at school, I only wrote a couple of really trivial things on my own (spirograph generator, calender printer, and did my A level coursework in QBasic and Access)

At Uni we were started on Pascal/Delphi, and then I got a job doing VB6 (yuck)
While doing other Uni modules I've done bits and pieces with Java, C++, PHP, Prolog etc while being introduced to Design Patterns, Databases, Operating Systems, Compilers, Formal Methods, AI etc.
In the mean time I've become fairly proficient with C# (just getting started on Linq, Expression Trees and Dynamic though) and picked up bits of XSLT, JavaScript etc.

At the moment I'm looking into Powershell, which is quite fun, but I want to tackle something else a bit different in a different area than Windows GUI apps and expand my thinking if possible.

Options include:
1) Objective-C (+Cocoa etc.) for iOS apps
I already have an iPhone and iPad, a couple of books + Intel Mac Mini with XCode 4
just don't really know what or how to do anything with it.

2) Ruby
I read "Why's poignant guide" a while ago and it seemed pretty cool, and people seem to get a hell of a lot done really quickly with Rails etc.

3) LISP (or Scheme etc.)
Got hooked on the 'Beating the averages' meme by Paul Graham, all that metaprogramming stuff looks cool, and I got about half way through Land Of Lisp then put it down)

4) F# (functional + .Net)
Have done some simple tutorials, and got a couple of books, would like to try some AI problems but I don't really think in recursion yet.

5) Python, Perl, Bash etc.
I don't have much experience on the Unix side of the fence, so I could probably do with extending my skills in that direction.

6) anything else? Haskell, Erlang, Closure, Google GO, RedHat Ceylon etc.

7) or go for low level, I've never actually done any pure C or assembler, though I was taught a bit of 68000 back in 2001. I understand pointers but frankly don't really want to have to deal with them most of the time.

Partly I just seem to want to know 'everything' and partly I never seem to stick with any one thing long enough to produce much useful with it.
I feel like I've still only just scratched the surface of what is possible, but I seem to have run aground trying to get to the next big thing.

Where do people think I should be aiming if I really want to make a concerted effort to 'move up to the next conceptual level' while I still have the chance?



computerlove
Veteran
Veteran

User avatar

Joined: 10 Jul 2006
Age: 123
Gender: Male
Posts: 5,791

27 Apr 2011, 11:09 pm

Lua, so hot right now, Lua.


_________________
One of God's own prototypes. Some kind of high powered mutant never even considered for mass production. Too weird to live, and too rare to die.


Foxx
Deinonychus
Deinonychus

User avatar

Joined: 14 Nov 2010
Age: 36
Gender: Male
Posts: 340

28 Apr 2011, 12:39 am

i'd go for a bit of Lua too (in fact i'm learning it at school), and it's quite useful for some applications and games (ie. WoW does a lot of stuff with Lua)...

Objective-C would also be good, the iDevices are good markets right now, so making a few good apps could get you some cash beside your normal income ;)

As for C, it can be quite useful, especially since C++ is an extension of sorts of C, it can help you get a better understanding of C++ and help you creating alternative (and possibly faster) code

Assembly is somewhat of a b***h to learn and is a bit hard to make any sense of, but nevertheless, it gives you a good understanding of how the CPU works, and gives you some good ways of tweaking programs to the max, even while using C or C++. It would IMHO be easiest to learn Assembly using simpler microcontrollers before you throw yourself into x86 assembly, though.



Madbones
Veteran
Veteran

User avatar

Joined: 7 Mar 2010
Age: 27
Gender: Male
Posts: 777
Location: In the zone

28 Apr 2011, 4:44 am

LUA,PHP and C++



peterd
Veteran
Veteran

User avatar

Joined: 25 Dec 2006
Age: 71
Gender: Male
Posts: 1,347

28 Apr 2011, 8:25 am

At risk of repeating myself, XQuery - try it once, you'll never go back. Yes, you'll probably need some Javascript and CSS to go with it, but still...

Unless, that is, you can't resist the iPad. Even then, you can deliver content from an XML server.



mathesis
Tufted Titmouse
Tufted Titmouse

User avatar

Joined: 25 Apr 2011
Gender: Male
Posts: 41

28 Apr 2011, 10:19 am

Lisp/Scheme and Haskell.



mathesis
Tufted Titmouse
Tufted Titmouse

User avatar

Joined: 25 Apr 2011
Gender: Male
Posts: 41

28 Apr 2011, 10:20 am

Lisp/Scheme and Haskell.



Burzum
Veteran
Veteran

User avatar

Joined: 26 Apr 2011
Age: 32
Gender: Male
Posts: 1,205

28 Apr 2011, 1:35 pm

youwho wrote:
5) Python, Perl, Bash etc.
I don't have much experience on the Unix side of the fence, so I could probably do with extending my skills in that direction.

I'm not sure why you associated python with unix :?

That said, python is an amazing language, especially for text manipulation. Plus there are a number of libraries (like boost.python) that make it really easy to embed it in a C++ program or use it as a scripting language for a C++ program.


Which language you learn really depends on what you want to do... Learn C if you plan on writing hardware drivers or operating systems, it doesn't really have much use beyond really low level stuff like that... If you want to write CPU/memory intensive games then C++ is your best bet without a doubt... Simple GUI applications you should probably use Java or something similar... So yeah, what is it you plan on doing?



mcg
Veteran
Veteran

User avatar

Joined: 26 Jan 2010
Age: 34
Gender: Male
Posts: 538
Location: Sacramento

28 Apr 2011, 3:18 pm

Find a good book and learn whatever language is in the book.

I would recommend Structure and Interpretation of Computer Programs, which is in scheme (However, it is not at all like most programming books which simply teach the syntax and semantics of a specific language. This book was first published in the 80s and it is still every bit as relevant today). This book will teach you the basics of procedural, object oriented and functional programming, dynamic vs lexical scoping, some basic data structures, orders of growth, virtual memory, concurrency and more. The book has lots of challenging exercises to help solidify the knowledge. Nothing I can write can really do it justice, but just read some of the amazon reviews (http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871).

Also, keep learning LINQ. LINQ (and the C# 3 features that came with it like lambdas) has doubled my productivity as web developer.



js3521
Snowy Owl
Snowy Owl

User avatar

Joined: 10 Dec 2010
Age: 37
Gender: Male
Posts: 150
Location: Texas

28 Apr 2011, 3:32 pm

Lisp!! !

You might also want to look into aspect-oriented programming. Very interesting stuff.



joestenr
Deinonychus
Deinonychus

User avatar

Joined: 22 Apr 2011
Age: 47
Gender: Male
Posts: 318
Location: niantic connecticut

29 Apr 2011, 1:57 pm

I would have to try out one of the true visual programming languages such as pure data or max msp. They are very easy to work with and u can readily creatd ur own objects if you have c experince.
I have wasted many hours of my life making programs with absolutly no usfull function. Beyond being weird.
Example press any key and generate the entire harmonic overtone series for that note.



computerlove
Veteran
Veteran

User avatar

Joined: 10 Jul 2006
Age: 123
Gender: Male
Posts: 5,791

30 Apr 2011, 12:09 am

joestenr wrote:
I would have to try out one of the true visual programming languages such as pure data or max msp. They are very easy to work with and u can readily creatd ur own objects if you have c experince.
I have wasted many hours of my life making programs with absolutly no usfull function. Beyond being weird.
Example press any key and generate the entire harmonic overtone series for that note.
seems you'll feel at home here http://www.creativeapplications.net/


_________________
One of God's own prototypes. Some kind of high powered mutant never even considered for mass production. Too weird to live, and too rare to die.


MDM
Snowy Owl
Snowy Owl

User avatar

Joined: 30 May 2010
Age: 30
Gender: Male
Posts: 126
Location: Montana, USA

30 Apr 2011, 4:43 am

I personally am not a fan of Lua. I'd recommend C, Objective-C, D, YACC/LEX, NASM x86, Make, and Bash.

If you want to do web dev or high level coding, ignore this post.



AngelKnight
Veteran
Veteran

User avatar

Joined: 3 May 2011
Age: 47
Gender: Male
Posts: 749
Location: This is not my home; I'm just passing through

09 May 2011, 2:15 am

(tl;dr version)
If you've not actually done some assembly for some ISA out there, make that next on your list. You may never use it professionally, but damn is it useful to actually know what the CPU is really doing.
(end short version)

In case it helps, an analogy: In engineering- or science-oriented undergraduate degree programs (Disclaimer: in America; I'm not familiar with this level of education anywhere else in the world), you'll end up doing a year of chemistry, then another year of organic chemistry.

Then afterwards, you have physical chemistry, which is where they tell you that the chemistry stuff you memorized over the past two years is, at best, a large body of convenient lies that are close enough to the truth. In p-chem you do the mathematics relating to atomic nuclei and electrons and their interactions via force carriers that more precisely model What's Going On.

Assembler (say, for x86 or PPC or ARM or MIPS) is to p-chem as Ruby, Python, Java, whatever else (other than C, sometimes) is to the first 2 years of chemistry and orgo.



js3521
Snowy Owl
Snowy Owl

User avatar

Joined: 10 Dec 2010
Age: 37
Gender: Male
Posts: 150
Location: Texas

09 May 2011, 2:25 pm

^If you're interested in that, you may also want to check out logic circuits. I HIGHLY recommend the following book:

Image



Reindeer
Deinonychus
Deinonychus

User avatar

Joined: 6 May 2011
Age: 29
Gender: Male
Posts: 372

09 May 2011, 2:44 pm

You should take LUA and make some gmod addons :D

Then we can make the LUA dance me and my friends dance when we are loading a new server lol...


_________________
AS: 132
NT: 36
AQ: 40