[General Query] Programming languages.

Talk about anything you want, but keep it within the rules, please.
Jome
Newcomer
Posts: 3
Joined: November 15th, 2011, 1:02 am

[General Query] Programming languages.

Post by Jome »

Hello, everyone.

I have a really quick query and I wanted to hear constructive and objective answers. First off, I want to say that I have asked this question in many message boards before and it always causes so much of a mess because everyone has a lot of things to put forward that doesn't really answer my question.

The query is simple: which programming language am I most likely to learn the most from given my beginner status?

Now, before anyone goes into "Haha noobers use C++" replies that I keep on getting from over-ardent non-Windows users, I just want to point out that I have no background in computer scripting/HTML/CSS/programming whatsoever. This doesn't mean I'm stupid, though. I just did not bother getting some extensive learning on any of them. However, I have made a couple of modifications and scripts for Infinity Engine games (think of Planescape Torment or Baldur's Gate). In addition, right now, I'm in the process of studying the various cheatpacks in here to get a feel of JASS and I'm in a hit-and-miss process of customizing Fai's CP, which happens to be my favorite. What I mean to say is that I find the concept of languages/syntax/memorization comfortable.

The real reason why I want to study is simply because I want to learn about how stuff operates in a computer software-wise. I always get stumped when someone brings up SQL or Python in a discussion because I know neither. Most people tell me that C++ is very easy but a lot of people always shoot it down with arguments like, "Too simple, not worth wasting time for, use something else". I know it's not something that should actually be a big problem but given my hectic schedule, I can only honestly spend time on a very practical language. Also, I want to eventually progress and eventually take on freelance stuff that involves programming (there is an IT boom where I am and it would help my finances greatly as well if I can take simple jobs here and there). Right now, I'm reading up on C++ because I have a gut feeling that I have to start with something "simple".

Seeing as to how this community is quite small and some of the members are obviously learned with programming, I'm really hoping for constructive replies. Pros and cons would be good, but I also would like to request application in personal life (ie. a certain language helps in creating scripts for customization of Windows programs, etc.). Also, I can't work on any non-Windows system as I am not the only one using my computer.

Thanks in advance, everyone. Hope to hear from you.
User avatar
UndeadxAssassin
Grammar King
Posts: 2117
Joined: June 22nd, 2008, 10:11 pm
Title: Worst human for 4eva
Location: Mostly USEast

Re: [General Query] Programming languages.

Post by UndeadxAssassin »

(20:53:52) Bartimaeus: Thank you, Jen.
(20:53:56) Bartimaeus: Truly, you are wise.
(23:44:12) Bartimaeus: I was in pubic school until middle school...
Learn how to extract and read RAW Codes here!

Need help? Click here and ask your question!
User avatar
Dekar
Forum Drunk
Posts: 2899
Joined: January 17th, 2007, 4:22 pm
Has thanked: 1 time
Been thanked: 1 time

Re: [General Query] Programming languages.

Post by Dekar »

Stay away from C++. I have a lot experience with C/C++ and especially C++ is a really bad language with tons of traps! I'd probably still suggest Java/C#, or if you prefer an interpreter language you might wanna look into Ruby or maybe even PHP. I myself pretty much started with PHP. If you really don't like those give C a try, but stay away from C++ unless you know how object oriented programming works. C is an old language and it lacks object oriented features (which are pretty much needed for bigger projects), but it at least is consistent. C++ has many inconstancies and you have to do weird hacks all the time. If you want to learn modern object oriented software development I'd really suggest Java/C#. (They're _really_ similar!)

I am an employed developer and I work mainly with C/C++ which I use for hardware and driver development. Low-Level tasks are probably the only legit reason to use languages like that anyway. I am really into C++ and I would probably use it for most projects, but it took me years to learn the quirks it comes with. It's a huge waste of time...
Don't pm me with Warcraft questions, this is a forum so just make a post!
In the world of thinking we are all immigrants. -Robert Nozick
Jome
Newcomer
Posts: 3
Joined: November 15th, 2011, 1:02 am

Re: [General Query] Programming languages.

Post by Jome »

Hello, Undead and Dekar.

Both your answers helped a lot. I apologize for not looking further into the old topics for an answer. Apparently, I did forget to put Java or PHP into any of my considerations. I was a bit overwhelmed by people putting forth Python, C++, et al that I forgot about Java. I seem to have a liking for Java programs myself, as I use NearInfinity a lot before during my Infinity Engine modding days and I appreciate the overall strength of the program.

Also, I looked into object oriented programming (using Wikipedia as reference) and the article is either not explaining it in relatively simple terms or I lost myself somewhere in the recounting of its history. To be much clearer, if I wanted to create a simple app that crunches a lot of numbers (say, detect a prime number sequence inside a given range), would I be better off with Java or with C++?
User avatar
Bartimaeus
Tyrannical Drama Queen
Posts: 4430
Joined: November 19th, 2007, 5:05 am
Been thanked: 2 times

Re: [General Query] Programming languages.

Post by Bartimaeus »

Jome wrote:as I use NearInfinity a lot before during my Infinity Engine modding days and I appreciate the overall strength of the program.
Aw man, you are so cool. Baldur's Gate is still my favorite game of all time.

[/offtopic]
Jome
Newcomer
Posts: 3
Joined: November 15th, 2011, 1:02 am

Re: [General Query] Programming languages.

Post by Jome »

Bartimaeus wrote:
Aw man, you are so cool. Baldur's Gate is still my favorite game of all time.

[/offtopic]
Thank you. However, I would like to point out that modding Infinity Engine games are more of a hobby than anything else. At one point or another, a player would want to to modify the game to get the most out of it. I started with editing kits and eventually moved on to some minor modifications/add-ons.

Anyway, on-topic, I've just downloaded the necessary files for studying Java. I'm installing the updated environment right now. Also, I've tried checking the local bookstore for some programming-related books. Can someone please tell me what a good reference would be? I'm getting recommendations for a certain Thinking in Java book and it's being sold in a local thrift shop for [the equivalent of] a couple of bucks. Are there any other recommendations/suggestions anyone might have?
User avatar
Dekar
Forum Drunk
Posts: 2899
Joined: January 17th, 2007, 4:22 pm
Has thanked: 1 time
Been thanked: 1 time

Re: [General Query] Programming languages.

Post by Dekar »

Jome wrote:Hello, Undead and Dekar.

Both your answers helped a lot. I apologize for not looking further into the old topics for an answer. Apparently, I did forget to put Java or PHP into any of my considerations. I was a bit overwhelmed by people putting forth Python, C++, et al that I forgot about Java. I seem to have a liking for Java programs myself, as I use NearInfinity a lot before during my Infinity Engine modding days and I appreciate the overall strength of the program.

Also, I looked into object oriented programming (using Wikipedia as reference) and the article is either not explaining it in relatively simple terms or I lost myself somewhere in the recounting of its history. To be much clearer, if I wanted to create a simple app that crunches a lot of numbers (say, detect a prime number sequence inside a given range), would I be better off with Java or with C++?
Simple number crunching could even be done in assembly, which could even gain you some speed if done properly. Object oriented programming is more about trading in performance in order to keep the code manageable while growing huge. For simple tasks procedural/functional languages might even increase the readability.

In any case you can manually downgrade most OOP languages by only using public static methods/members. Most people will rant if you tell them what you're doing, but if you don't care for OOP it shouldn't matter. Java has some nifty run time optimizations which are impossible to be performed for compiled languages. Thus it might be even better suited for some cases of number crunching since the JVM is able to optimize the hot spots while executing them. The downside is that it wastes huge amounts of ram, but who cares these days? I'd say go for java. I'd suggest using Eclipse as an IDE, though I have used NetBeans as well and it wasn't too bad. Eclipse is way more versatile though, I am using it for embedded C development plus debugging via JTAG. Dunno about Windows, but on Ubuntu getting a working Java development environment should be as easy as selecting Eclipse from the software center. So in case you run into problems you might wanna try that.
Don't pm me with Warcraft questions, this is a forum so just make a post!
In the world of thinking we are all immigrants. -Robert Nozick
Jome
Newcomer
Posts: 3
Joined: November 15th, 2011, 1:02 am

Re: [General Query] Programming languages.

Post by Jome »

Hello to everyone, especially to Dekar.

It's been a time. I immersed myself a bit into Java. I am using NetBeans right now. It's not easy, to be honest, because I don't understand about 90% of what I see on the screen and I am merely using it for compiling and running code. For some odd reason, my Windows 7 is making it hard for me to compile using the command line...

Anyway, besides NetBeans, I also use Notepad++ extensively and I've bought myself second-hand copies of Head First into Java and Thinking in Java. The second book is very informative, but in comparison to the former, it's pretty much like learning multiple derivatives first instead of learning integrating: it's taking a larger swipe on the learning process in exchange for more ammunition in later assessments and is definitely not programming-newbie friendly.

I just want to extend my thanks to everyone who helped out. I've been having a blast practicing on my 99 Bottles of Beer code. I've seen a really complicated but fun version on the Web that was really helpful (if not totally crazy) and I'm still finding more and more ways to augment my version (even to the point of adding random bar room shouts here and there for effect). Java is indeed a really powerful program to start out with. The commands might be longer compared to what I've read in C++ but it's very intuitive at some point (especially all those useful differences in the print function, ie. print, println, et al). It's a great thing to come here and ask for really honest advice as I've literally gained a lot of understanding in just three weeks (I even read code that is way beyond me and I like it when I figure out the function of a particular code block). It's like coding for Infinity Engine games all over again.

Anyway, will update soon enough. Hopefully, in between Java, work, and family, I can find time to study Jass and get into hacking and/or making maps myself. Belated Merry Christmas, people, and much thanks.
User avatar
haxorico
Super Moderator
Posts: 3197
Joined: February 24th, 2009, 1:31 pm
Location: JEW LAND
Been thanked: 1 time

Re: [General Query] Programming languages.

Post by haxorico »

In my opinion it depends on the project.
I started making my "calculators" in C and C++ in a console project
But when I wanted to make projects that use some GUI I was really confused with C++ and java.
I started my first GUI projects using VB and finally made Haxorizer. I then went for visual C# and the similarity it has with VB is really helpfull and I have made some big projects with it.

As for jass, my experience with fai cp was that I just saw the number of lines it had and I stepped back as mainly there things that don't make sense to me. Some functions return always the same value.
I think it's better to learn by actions
Get a project of your started and try to get it working
Afterwards share with a more expirienced coder for tips and suggestions
Image
Spoiler:
(02:24:09)

Code: Select all

ChatBot: FatherSpace logs into the Chat.
(02:24:28) Lanaya: Gtfo ken.
(02:24:33) ChatBot: FatherSpace logs out of the Chat.
(02:24:40) Lanaya: Thought so. bitch.
(02:24:44) ChatBot: FatherSpace logs into the Chat.
(02:24:48) FatherSpace: Can I come back yet?
(02:24:51) Lanaya: What'd i say earlier.
(02:24:51) Lanaya: No.
(02:24:58) FatherSpace: Let's try this...
(02:25:01) ChatBot: Lanaya has been logged out (Kicked).

Code: Select all


(14:33:51) 2Pac: Do you know what'S so funny?
(14:34:01) Lanaya: No, please show me.
(14:34:07) 2Pac: This.
(14:34:09) ChatBot: Lanaya has been logged out (Kicked).
(14:34:10) 2Pac: 

Code: Select all

(14:35:59) haxorico: No one will belive me if I say "I got this song from 2pac on MSN" lolz ^^
(14:36:02) Lanaya: lolz.
(14:36:16) 2Pac: I AIN'T DEAD FFS.
(14:36:26) 2Pac: I'm a living legend, y'now.
(14:37:17) haxorico: why is 2Pac a legend?
(14:37:28) Lanaya: He's the worse rapper evar.

Code: Select all

(15:42:51) Lanaya: can i suck , . . .

Code: Select all

(13:55:21) ChatBot: 2Pac rolls 1d100 and gets 1.
(13:55:21) ChatBot: haxorico rolls 1d2 and gets 2.
(13:55:27) haxorico: owned?

Code: Select all

GeorgeMots: xplain what happens in SP. Why cant you save?
dast.-:i need play with 2 players

Code: Select all

(21:53:08) (673237): plzplzplz, im sorry about before.
(21:53:26) FatherSpace: I'm sorry you were born.
(21:53:31) ChatBot: (673237) has been logged out (Kicked).

Code: Select all

(10:08:02) Bartimaeus: you do know run I youtube channel for my favorite music, right?
Jome
Newcomer
Posts: 3
Joined: November 15th, 2011, 1:02 am

Re: [General Query] Programming languages.

Post by Jome »

Greetings. It's been quite a while, everyone.

I've been doing a lot of code lately and have been modifying a lot of examples I'm getting my hands on. Right now, I'm trying to modify the Guessing Game by introducing players with unique names. Basically, what I did before was create multiple classes that have unique names instead of just using a single Player(). However, when I discovered arrays, I'm thinking of bringing the Player() class back instead.

The caveat, of course, is that I won't have unique names for each player. A rough idea of what I want would go like this:

Code: Select all

blahblahblah

Player[] pl = new Player[3]; // creates 3 players, if I understand array correctly

blahblahblah

Player[x].name = { pool of names here }

blahblahblah

Jome has entered the game!
George has entered the game!
Undead has entered the game!
Now, the problems I'm seeing with this are:
1. I can create a random pool of names and use Math.random to locate a random name and use it for a player's name. However, I want to make sure that a name doesn't get picked twice. How can I do this?
2. The other problem is a bit simple but I have to make sure: if ever I pin problem (1) down, I still have to figure out a way to keep the names consistent even throughout multiple guesses. This is important because if no player gets to guess correctly, the while() block has to run again, right? So should I just put the random name code outside of the loop so that it isn't ran again?

Thanks to anyone and everyone who can help.