Dr. Z2A

2nd language

22 posts in this topic

ok so i have been practicing C and have gotten to a point where I am happy enough with my skillz to learn a second language. Problem is that I am unsure as to which one to learn. I am considering Java (for web apps and cell phone apps), php (for web design), assembly (for virii and to understand programming concepts more thoughouly), and perl (just cause i've heard good things about it). Can anyone recommend any of those and tell me why they recommend it? Also if you could share any good books or online tutorials that are good when coming from a C backround that would be cool to.

0

Share this post


Link to post
Share on other sites
ok so i have been practicing C and have gotten to a point where I am happy enough with my skillz to learn a second language.  Problem is that I am unsure as to which one to learn.  I am considering Java (for web apps and cell phone apps), php (for web design), assembly (for virii and to understand programming concepts more thoughouly), and perl (just cause i've heard good things about it).  Can anyone recommend any of those and tell me why they recommend it?  Also if you could share any good books or online tutorials that are good when coming from a C backround that would be cool to.

Go back and listen to BR episode #94. Stank and Ntheroy do a good job in explaining what languages to use and why to use them. As for tutorials??...I repeat this tired phrase..."Google It".

0

Share this post


Link to post
Share on other sites
As for tutorials??...I repeat this tired phrase..."Google It".

I'm sure Dr. Z2A meant by asking for tutorials if anyone had one they espically liked. Sure there are a bizzillon out there but half of them are crap :(

Listening to the BinRev Radio another time through might be a big help in narrowing the list since it will give you the reasons each one is used, etc etc, but ultimately it comes down to what it is you want to do. If you wanted to learn about socket programming it wouldn't make much sense to learn mysql and if you wanted to learn about web pages VRML isn't going to be much help to you (anyone else remember VRML!?!).

I can say however that I do NOT recommoned Assembly as your second language. It is the most challenenging (IMHO) languages out there. It's specific to the archatecture (the chip, be it 8086 or whatever else your using), it's a pain in the ass to debug and code, but I will admit you'll learn more about how memory is used, and how things talk to each other inside of a computer, and write the fastest programs using registers... But I digress, save that for a rainy day, like hurricane force rainy, rainy day :)

Personally, I would suggest perl as a next language, unless your looking to do a lot of web design. Between perl and C there really aren't a heck of a lot of things you can't do. As for good books, I'm going to ask for a little help here and see if anyone recommends anything (feel free to jump in with your favorite).

If you do want to do mucho web site building/developing, then javascript and php would of course be of more benefit to you. Although I still just fake my way through javascript when I need to use it (don't tell anyone!). You'll have an advantage, by learning java, that you can program with maxium portability.

So in the end, your next language is really just based on what you want to do with it. Good luck picking one...

-Dr^ZigMan

0

Share this post


Link to post
Share on other sites

I've been doing Java myself for a little while. If you already know C I'm sure you can get along well with Java. However, I concur that Perl may be your best bet right now. You got the application language, go ahead and learn a web language. It may turn out that you like it better.

I also agree to listen to episode #94. Stank and ntheory do a great job of telling the pros and cons of the most popular languages now.

0

Share this post


Link to post
Share on other sites

Personally, I would recommend perl for the quick hackjobs. It is unsurpassed when you need something done on the fly. Pretty much is a must have. However, do not discard the other languages, as they all have their advantages.

Php/mysql is a great way to make quick money. I have been working on content management system for quite a bit using rudimentary knowledge and earning quite some nice bucks while still studying.

Asm is enlightening as far as computer science goes, and it can help you understand a bit more how to optimize your code (or ad din asm snippets). Also useful for reverse engineering. I really enjoyed my asm reverse engineering class in university.

0

Share this post


Link to post
Share on other sites

id go with c++ because its alot like c or perl because i <3 perl alot, ive learned alot in a short amount of time since ive been learning c++ in school, as for perl tuts, here are some books....

0

Share this post


Link to post
Share on other sites

C is simple enough to learn in a week yet complex enough to spend a lifetime studying. Thus, instead of focusing on languages, you should work on developing your programming skills.

0

Share this post


Link to post
Share on other sites

I did assembly a few times and it isn't really that hard. It's probably easier to first do it in an high-level language like Java or C++ and then convert that to assembly.

0

Share this post


Link to post
Share on other sites

I would probably recommend as a second language would be java. Becuase if you have just been using C and not C++ it is good Idea to learn a stonger object oriented langauge not saying that object oriented is the end all beat all, but I its the current trend in buisness and has been for some time this is how you will work with more complex data from databases, and the like.

As for choosing java it is "portable" and it is a great learning language it is alot stricter and structured than alot of other languages, and lot of this stems from the virtual machine. Plus it has a really good interface for learning some basic computer graphics.

There are a lot of good languages out there.

Iif you want some fun there is always perl or python. I would reccommend staying away from assembly till you master a couple other languages, but that is not required. If you want something completly diffrent look into scheme/lisp or haskell, these are good for a number of diffrent uses, but are used alot in AI. Stay away from cobol as it is the devil, and is used only in certain circles of hell, and the insurance industry :ranaway: Fortran is still in used in the scientific field especially in physics. And for fun with writing as much code on one line with out using any recongnizable characters look into APL.

0

Share this post


Link to post
Share on other sites

for something unreadable.... "brainfuck" thats some crazy shit.......doesnt even look pretty heh

0

Share this post


Link to post
Share on other sites

ZigMan: I remember VRML, I actually had a book with a chapter devoted to it! (And this book was from circa 1996...it also discussed the wonders of ActiveX and the new features of IE 3)

If I were you, I'd go for PERL given it's extreme C-ness. I do also agree that while you may be comfortable with C now, you should devote a good amount of time to really learning its ins and outs.

As a side note, PHP has nothing to do with web design, I have no idea who started this fallacy and I have no idea why people perpetuate it. HTMl/DHTML/CSS are the only languages (if you can even call them that) related to web design (and to some extent ActionScript even though it's really a pseudo-language). And whomever said in this thread that C++ is very much like C: DUH! It's an extension of it so that'd be only uh...natural that it'd be like C.

0

Share this post


Link to post
Share on other sites

Anyone can memorize syntax. I hardly ever memorize functions and structs. Focus on programming, not memorizing as many languages as possible and forgetting them all in a month. Develop an efficient algorithm and some good exploit code, and I'll call you a hacker.

0

Share this post


Link to post
Share on other sites

Thanks for the input everyone. So right now I'm thinking my best bet is to continue studying C a bit and maybe look into Perl a bit as well.

Also

As a side note, PHP has nothing to do with web design, I have no idea who started this fallacy and I have no idea why people perpetuate it. HTMl/DHTML/CSS are the only languages (if you can even call them that) related to web design

I seem to remember the php site saying that php can be used to make webpages on its own without html. And don't a lot of websites use php scripts?

0

Share this post


Link to post
Share on other sites
Also
As a side note, PHP has nothing to do with web design, I have no idea who started this fallacy and I have no idea why people perpetuate it. HTMl/DHTML/CSS are the only languages (if you can even call them that) related to web design

I seem to remember the php site saying that php can be used to make webpages on its own without html. And don't a lot of websites use php scripts?

Having learned both PHP3 and PHP4, I know there are HTML functions buit-in but they will not aid in actually designing a site, I have yet to ever see a site developed completely with only PHP sans HTML. You still need HTML tags for site structure. Even though a site (such as these forums) are running on PHP, the PHP performs very specific functions such as well...just about everything. If you take a look at most scripts, they are interspersed with HTML and vice versa to accomplish everything.

PHP is for web development.

0

Share this post


Link to post
Share on other sites

If you're looking for an intellectual challenge, I suggest looking into a functional programming language. Imagine programming without changing the values of variables, without looping constructs, where ideas can be expressed quite elegantly using recursion.

Programming in a functional language requires a different way of looking at problems. Learning one might increase your programmer's bag of tricks more than learning another imperative language that is similar to C but with a different syntax.

I learned scheme from this book (the "Wizard Book") back in the day, and still have a soft spot in my heart for that language (full text now online):

Wizard Book

Recently, I wrote a few programs in O'Caml, which has a more advanced type system than Scheme, and has some pattern-matching features that might appeal to Perl programmers. There are also on-line books for O'Caml. Here's one; I'm not sure if it's the canonical one:

Objective Caml Book

0

Share this post


Link to post
Share on other sites

For learning just about any language I would suggest the Oreilly books. They are simply the best books that I have found for any language. I would also suggest Dietel and Dietech's books, they are also very good.

Like everyone has said, focus on programming, but together with C/C++ and Perl, and a bit of assembly for optimization and such, you've got everything. I haven't bumped into anything I could make with a combination of those. Once you know C, C++ isn't that hard, it's just a lot of new syntax, and classes and such. But I would not suggest Java to anyone who's thinking of starting off a new language who is still somewhat a beginner. Java teaches a lot of people some very bad programming habits, and the sad thing is. Java is a thing that a lot of companies are looking for in a programmer.

Assembly really isn't that hard to learn, it's just moving stuff around in the registers, but mostly when you see someone working with assembly alone, it's not a very "legitimate" thing. Pure assembly is mostly used for exploits and virii. But I really had a lot of fun learning it, you learn a lot about how your computer machine actually works. The only problem is with learning assembly is, that online there aren't very many good tutorials, and I can't find any good books on it. The only good book I found on learning assembly was a college textbook that I was borrowing from someone. And college textbooks to cost a pretty penny.

With C/C++, Perl, and Assembly, the world is your oyster.

0

Share this post


Link to post
Share on other sites

My college textbook on assembly was photo copied becuase the book was not in print any more, probably a violation of the dmca. You are more likely to see pure assembly in embeded systems or more low level chips or equipment. Also it is great for optimizing a very processor heavy loop or much used operation, can speed up you application a bit, becuase you can count the number of instructions used. Using the debugger you can view your C program in assembly to see what the compiler is producing so you know if it is being effecient.

Speaking of hacker texts I have a copy of the "Pink Shirt Book" on my book shelf :D

Edited by mrfishopolis
0

Share this post


Link to post
Share on other sites
Speaking of hacker texts I have a copy of the "Pink Shirt Book" on my book shelf  :D

I've never heard of that one.

0

Share this post


Link to post
Share on other sites

I'd recommend Perl. It's fun, easy to get into quickly (especially if you have a solid programming theory foundation), and allows you to do absolutely awesome things. Not to mention, there's TONS of free resources on the net to help you out.

Whatever you choose, have fun!

0

Share this post


Link to post
Share on other sites

i did VRML once. i found it to be beyond my interests in programming, so i dropped it. you can make cool stuff with it though, if you know what your doing.

0

Share this post


Link to post
Share on other sites

Does anyone know of any good LISP or Scheme tutorials?

I googled them both thorougly, and came up with nothing.

0

Share this post


Link to post
Share on other sites
I've never heard of that one.

From the Jargon File

"The Peter Norton Programmer's Guide to the IBM PC".

The original cover featured a picture of Peter Norton with a silly smirk on his face, wearing a pink shirt. Perhaps in recognition of this usage, the current edition has a different picture of Norton wearing a pink shirt.

peternortonibmpc.jpg

Sorry about the flash it's crappy grey outside and I don't have alot of lights in my apartment, I just use low power flourecents.

Edited by mrfishopolis
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now