Quantcast

Jump to content


Photo

2nd programming language?

programming nerds butt sex

  • Please log in to reply
30 replies to this topic

#1 Irradium

Irradium
  • Pyro (699) Maniac

  • 892 posts


Users Awards

Posted 10 May 2012 - 09:38 AM

Well, as you can work out from the title, I plan to begin working with a second programming language, with views to a third (for now).

I plan to practise 'core' Python + wxPython, Django, Pygame and OO a bit more before moving on to C++ (and possibly Ruby, but I think it's just a mangled Python).
However, before I continue this, I want to check whether this is a 'good' idea - for example, Java may be better in most other people's opinions due to it being more widely adopted by the programming community, or C, for it's ability to break programmers out of that easy world of 3rd/4th gen languages. :)

So, as this is basically a thread for asking opinions, what do you think?
(I'll edit this post to include my desires/expectancies for a programming language if requested/is easier. :) )

P.S. Butt sex.

Edited by Russell, 10 May 2012 - 09:46 AM.


#2 Adam

Adam
  • Coffee God


  • 4771 posts


Users Awards

Posted 10 May 2012 - 09:42 AM

What are your purposes for learning programming? Do you plan to program for Codex? If so I'd focus on Python. If you're like me and coded in VB6 / VB.net for years, then I'd say graduate to C# / C++. I picked up on C rather quickly, if you ask me it's a good transition language. I've yet to dig deep into Python so I can't give you any advice on that language.

#3 Hydrogen

Hydrogen
  • Neocodex Co-Founder

  • 22213 posts


Users Awards

Posted 10 May 2012 - 09:43 AM

I would first focus on mastering a single programming language before moving onto a second. Also, I wouldn't focus on adding more and more programming languages to your tool belt. After you've learned one, or maybe a few if you really want to, I would focus on learning data structures, algorithms, and techniques that you can use to better design your software. Those skills apply to any programming language that you choose.

However, if you really want an answer to your question, after you learn Python, I would do something a little more low-level like C or C++. Java is cool too, but it still hides a lot from you just like Python does so you won't really be gaining as much. At this point, don't worry about what is more widely adopted. That's not really an issue for where you are in your path of learning :p.

#4 RitzWin

RitzWin
  • 241 posts

Posted 10 May 2012 - 09:47 AM

Python, all-in. imo.
Python's built on C, so it's nearly as powerful as C (you can make your own libraries to cover stuff that python cannot currently do but C can do- is my understanding), but hella simple in comparison.

Simple + powerful = best.

Either python or Ruby, I've heard good things about Ruby as well. I wouldn't concern myself with more than one OO language. If you want to learn something else- you could learn something that has more to do with web or UI (like flex or php).

#5 Irradium

Irradium
  • Pyro (699) Maniac

  • 892 posts


Users Awards

Posted 10 May 2012 - 10:47 AM

What are your purposes for learning programming? Do you plan to program for Codex? If so I'd focus on Python. If you're like me and coded in VB6 / VB.net for years, then I'd say graduate to C# / C++. I picked up on C rather quickly, if you ask me it's a good transition language. I've yet to dig deep into Python so I can't give you any advice on that language.


I already know Python, and I'm going to begin VB6 when I start my A-levels.
Thanks anyway Adam. :)

I would first focus on mastering a single programming language before moving onto a second. Also, I wouldn't focus on adding more and more programming languages to your tool belt. After you've learned one, or maybe a few if you really want to, I would focus on learning data structures, algorithms, and techniques that you can use to better design your software. Those skills apply to any programming language that you choose.

However, if you really want an answer to your question, after you learn Python, I would do something a little more low-level like C or C++. Java is cool too, but it still hides a lot from you just like Python does so you won't really be gaining as much. At this point, don't worry about what is more widely adopted. That's not really an issue for where you are in your path of learning :p.


Wow, you're so wise Hydrogen (no ass-kissing intended :p ).
Cheers dude, I'll bear all of that in mind. :)

Python, all-in. imo.
Python's built on C, so it's nearly as powerful as C (you can make your own libraries to cover stuff that python cannot currently do but C can do- is my understanding), but hella simple in comparison.

Simple + powerful = best.

Either python or Ruby, I've heard good things about Ruby as well. I wouldn't concern myself with more than one OO language. If you want to learn something else- you could learn something that has more to do with web or UI (like flex or php).


Cheers RitzWin.
Just for the record, I am NEVER learning any language that is based purely on web development. :)

#6 Adam

Adam
  • Coffee God


  • 4771 posts


Users Awards

Posted 10 May 2012 - 10:48 AM

VB6 is soooooooooooooo old. Don't do it!

#7 Waser Lave

Waser Lave

  • 25516 posts


Users Awards

Posted 10 May 2012 - 10:50 AM

VB6 is soooooooooooooo old. Don't do it!


Definitely this ^. If you're going to learn Visual Basic make it .NET, not VB6...

#8 Irradium

Irradium
  • Pyro (699) Maniac

  • 892 posts


Users Awards

Posted 10 May 2012 - 11:02 AM

VB6 is soooooooooooooo old. Don't do it!


Definitely this ^. If you're going to learn Visual Basic make it .NET, not VB6...


It'll either be VB6 or VBA, according to the course prospectus that I will end up learning it in. Thankfully, it has better points too (like building your own computer! :D )

I don't get the whole VB/B/VB6/C#/VB.NET/VBA thing anyway. Too many languages, and I have no idea which relate to which and how. :p

#9 Waser Lave

Waser Lave

  • 25516 posts


Users Awards

Posted 10 May 2012 - 11:13 AM

VB6 isn't even supported by Microsoft any more, VB.NET is the modern version of Visual Basic.

#10 Irradium

Irradium
  • Pyro (699) Maniac

  • 892 posts


Users Awards

Posted 10 May 2012 - 11:16 AM

VB6 isn't even supported by Microsoft any more, VB.NET is the modern version of Visual Basic.


I'll make sure to fail that unit then. :p

#11 Hydrogen

Hydrogen
  • Neocodex Co-Founder

  • 22213 posts


Users Awards

Posted 10 May 2012 - 11:25 AM

It is this programmer's opinion that Visual Basic makes you messed up in the head.

#12 Waser Lave

Waser Lave

  • 25516 posts


Users Awards

Posted 10 May 2012 - 11:26 AM

It is this programmer's opinion that Visual Basic makes you messed up in the head.


Didn't you start with Visual Basic? :rolleyes:

#13 Irradium

Irradium
  • Pyro (699) Maniac

  • 892 posts


Users Awards

Posted 10 May 2012 - 11:29 AM

Didn't you start with Visual Basic? :rolleyes:


Oooh, burn! ;)

#14 Mishatu

Mishatu
  • 346 posts

Posted 10 May 2012 - 12:14 PM

It's not a burn, it's an explanation ;)

#15 Hydrogen

Hydrogen
  • Neocodex Co-Founder

  • 22213 posts


Users Awards

Posted 10 May 2012 - 12:30 PM

Didn't you start with Visual Basic? :rolleyes:

Nah, C++ was my first language :p. Thank God! If I had started with Visual Basic, I wouldn't have wanted anything more to do with computer science :p.

Dodged a bullet there :p.

#16 Melchoire

Melchoire
  • 5284 posts


Users Awards

Posted 10 May 2012 - 04:42 PM

I agree with the first thing Hydro said. It feels very rewarding when you master one language rather than knowing a little bit of several different ones.

I don't think Java is the most popular one out there in the professional field, last I checked that title belonged to C but by a small margin with C++ and Java behind it.

Since you know a scripting language why not learn a system's language...I only know of C that would fall in that category. It's very low level and intimidates beginners with its lack of spiffy general purpose libraries and it requires your expertise in pointers and memory management. But it's very rewarding when you "master" it.

Or you can learn a different paradigm. Python is object oriented so you can try your hand at a functional language instead. I started learning Haskell just last month. Ocaml is also a nice one. One of the TAs in my compiler design course built the term project (the compiler for a custom language our proff came up with) in Ocaml while the rest of the class made it in C++. He had a much easier time with it than we did and the final code was much neater too.

And you should also keep in mind that aside from learning the syntax and what the language is capable of you should also learn how the compiler works. It probably doesn't apply to python but for example, when I initially started using g++ the error messages I got sounded like gibberish but over time I found that I always knew exactly what the errors meant. I didn't have to go and google it like I was doing at the beginning.

#17 Irradium

Irradium
  • Pyro (699) Maniac

  • 892 posts


Users Awards

Posted 10 May 2012 - 10:40 PM

I agree with the first thing Hydro said. It feels very rewarding when you master one language rather than knowing a little bit of several different ones.

I don't think Java is the most popular one out there in the professional field, last I checked that title belonged to C but by a small margin with C++ and Java behind it.

Since you know a scripting language why not learn a system's language...I only know of C that would fall in that category.


Well, what about C++? Does that retain it's predecessor's system compatibilities?

#18 Melchoire

Melchoire
  • 5284 posts


Users Awards

Posted 10 May 2012 - 11:42 PM

Well, what about C++? Does that retain it's predecessor's system compatibilities?


Actually C++ may also qualify as a system's language but I only know for sure that C does. I think C is the popular one in the category because it's been used in developing kernels and operating systems. Both Linux and BSD are written in C so when other developers came along they kept using C to further develop them. Companies that design software for embedded systems will usually opt to use C over C++ since it leaves a smaller foot print but that's not really an issue in this day and age.

Either way there's little difference between the two in terms of syntax, if I were you I'd just learn C++ since you'll have a marginally easier time with it given the STL and the OO that you're used to.

E: just looked it up, windows was written in C++(as well as others) so it definitely counts

#19 Adam

Adam
  • Coffee God


  • 4771 posts


Users Awards

Posted 11 May 2012 - 07:31 AM

All this C / C++ talk is making want to open up my old projects and try and finish them!

#20 Irradium

Irradium
  • Pyro (699) Maniac

  • 892 posts


Users Awards

Posted 11 May 2012 - 07:37 AM

All this C / C++ talk is making want to open up my old projects and try and finish them!


Why don't you then?

#21 Adam

Adam
  • Coffee God


  • 4771 posts


Users Awards

Posted 11 May 2012 - 07:39 AM

I only have a few weeks at home and then I'll be gone until January, then I'll be deploying in February.

#22 Irradium

Irradium
  • Pyro (699) Maniac

  • 892 posts


Users Awards

Posted 11 May 2012 - 07:47 AM

I only have a few weeks at home and then I'll be gone until January, then I'll be deploying in February.


Awww. You won't be will be missed. :)

#23 RitzWin

RitzWin
  • 241 posts

Posted 11 May 2012 - 09:03 AM

I only have a few weeks at home and then I'll be gone until January, then I'll be deploying in February.


I'd say you'd be making a bigger difference in the world by staying here and programming, but that's my opinion.

#24 Adam

Adam
  • Coffee God


  • 4771 posts


Users Awards

Posted 11 May 2012 - 09:29 AM

I'd say you'd be making a bigger difference in the world by staying here and programming, but that's my opinion.

Bahaha no thanks :]

#25 Hydrogen

Hydrogen
  • Neocodex Co-Founder

  • 22213 posts


Users Awards

Posted 11 May 2012 - 09:54 AM

Actually C++ may also qualify as a system's language but I only know for sure that C does. I think C is the popular one in the category because it's been used in developing kernels and operating systems. Both Linux and BSD are written in C so when other developers came along they kept using C to further develop them. Companies that design software for embedded systems will usually opt to use C over C++ since it leaves a smaller foot print but that's not really an issue in this day and age.

Either way there's little difference between the two in terms of syntax, if I were you I'd just learn C++ since you'll have a marginally easier time with it given the STL and the OO that you're used to.

E: just looked it up, windows was written in C++(as well as others) so it definitely counts

What defines a systems level programming language is not whether people choose to write operating systems out of them :p. People have written operating systems in Python and Java and those are by no means systems level programming languages :p.

I'm not sure that there is a single definition of what a systems level language is, but from what I've seen, a systems level programming language will usually give you direct access into the kernel to give it hints about what you are trying to do. For example, if you are loading a huge file into memory to read in many applications, you can tell the operating system to keep a handle on the memory and allow other processes to read it as well. You can tell the operating system that you're loading this huge file in, but that you won't need it again so it doesn't need to bother with flushing its buffer cache (thereby not causing evictions for other data that other applications actually will need), etc. In addition, systems level programming languages usually present memory directly to the programmer rather than through some protective view.

I need to find a better definition... I feel like what I've presented is a bit wishy-washy :p.



Also tagged with one or more of these keywords: programming, nerds, butt sex

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users