Jump to content

Easiest Coding Language To Learn?


Recommended Posts

Hi Guys? I wanted to learn another programming language and i was wondering which ones I could learn in a short period of time. I already know web languages (HTML,Css,JavaScript, and a little PHP :)) I was looking for something more like Python? Something Easy but Powerful?

Thanks for your Help,

~*L33T_NiNj4*~

Edited by ~*L33T_NiNj4*~
Link to comment
Share on other sites

Easiest is probably html and css. Hardest, is probably assembly. Just my opinions though.

Link to comment
Share on other sites

PHP is an easy language to learn, but can be a little bit complicated due to the math.

Link to comment
Share on other sites

Python would be a great choice. Object oriented (OO), dynamic, etc. with lots of applications in web development. I'm using it in a web dev class right now in conjunction with the Django framework. Once you get started, it's pretty straightforward.

Ruby on Rails would be another good choice, although it's not as popular.

Java is also a good starter language.

Edited by keyboardN1nja
Link to comment
Share on other sites

It's not the math that makes it complicated. http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/

It may be broken or badly designed but it still a good scripting language to learn.

Link to comment
Share on other sites

Well you've already got the easiest. lol html and css are probably the easiest, or at least they were to me. The next easiest to me would be Python, it's also very easily applicable to most anything. :)

Link to comment
Share on other sites

Or you could do it the tough way and start with C/C++ and then learn others after. If you start with a high level language like C++, languages like python or PHP will come quite easily. In fact it might be better to do it this way. Personally speaking, the stuff I use python for, most if not all of it is C/C++ based anyways, curl, regex, popen, etc.

I'm no expert, but big picture wise, I'd say start with C++. Since you're on the hak5 forums, I assume you're interested in security, and I think C++ is probably going to be the most beneficial to a career in security.

Link to comment
Share on other sites

Or you could do it the tough way and start with C/C++ and then learn others after. If you start with a high level language like C++, languages like python or PHP will come quite easily. In fact it might be better to do it this way. Personally speaking, the stuff I use python for, most if not all of it is C/C++ based anyways, curl, regex, popen, etc.

I'm no expert, but big picture wise, I'd say start with C++. Since you're on the hak5 forums, I assume you're interested in security, and I think C++ is probably going to be the most beneficial to a career in security.

Im sort of interested in this... But Im thinking this might be a little two hard. So I might go the other way and Learn Python and just build myself up from there (Eventually reaching c when im 20? :D ? Any suggestions or comments?

Link to comment
Share on other sites

Im sort of interested in this... But Im thinking this might be a little two hard. So I might go the other way and Learn Python and just build myself up from there (Eventually reaching c when im 20? :D ? Any suggestions or comments?

I think the younger you would be learning C++ the better. I wish I learned it at your age.

It really depends what you want to do. For web design, python and PHP will probably be more than enough. But for security you're going to need C/C++ and I say that for several reasons.

First reason being that in security you're dealing with Windows environments by large, and python isn't native to Windows. So when it comes time to develop your own payload for a client you're running a pentest on, python isn't going to help you much there unless you want to socially engineer someone to install python, then go to the dos prompt and type "python payload.py" (don't think that would work well in the wild). Anti virus evasion plays a huge part of pentesting and to my knowledge (I could very well be wrong) C/C++ is the only "default" way to fight the antivirus. Remember that not everyone has Java installed either.

Secondly, there are some concepts in C++ that don't exist in python (honestly I don't know if they don't exist, but if they do the interpreter automatically handles them so you don't have to worry about them) like pointers, memory addresses, referencing and dereferencing. When you start doing work in the debugger like finding your own exploits or reverse engineering software, you're going to HAVE to at least have a working knowledge of these concepts as they exist and are quite common in assembly language also.

Python is a great language, but I think learning C++ first will be much more beneficial to you. Besides, if you know C++ it won't take you very long to learn python after.

Edited by bobbyb1980
Link to comment
Share on other sites

I would actually recommend C, not C++. Everything you need to know about the low-level inner workings (pointers, memory addresses, etc.) are taught in C. C is a very simple, yet very powerful language. And most of the example exploit code I've seen attached to vulnerability disclosures are written in C. (Also, Python is written in and based upon C, not C++. Python was created to be an easier way to write small C apps.)

C++ is whole different beast. It takes the power and simplicity of C, and then tries to "enhance" it by bolting on a bunch of power tools that don't necessarily fit or play nice together. C++ is an extremely complicated and convoluted language in comparison to C. Sure, it gives you some higher-level abstractions and a metric tonne of new syntax to use those abstractions, but it also introduces a lot of unintuitive behaviors and endless corner cases.

Where C is a hammer, C++ is a nail-gun. It might be marginally faster for big jobs, but it also has a lot more moving parts, it can jam or break, and it's far more likely to shoot you in the foot.

If you chose to learn C++ at all, I strongly recommend that you start with C first. Learn the hard stuff (mostly pointers and how to manage memory) in C, away from the distractions of C++'s extra "features" and syntax.

Or you could start with Python by Learning Python the Hard Way (hint: the "hard way" is actually easier).

As I might have mentioned before, I helped write this guide that talks about one approach to learning programming and computer science, and links to lots of good resources for various languages.

Link to comment
Share on other sites

I'll try to learn c but im not going to pay for books or courses. So can anyone give me links of some free online courses? (I.e MIT open course ware? I always go there). Thanks you guys.

Link to comment
Share on other sites

I'll try to learn c but im not going to pay for books or courses. So can anyone give me links of some free online courses? (I.e MIT open course ware? I always go there). Thanks you guys.

Did you actually read the page I linked? Nearly all the resources I link there are completely free. The only exceptions are:

1. Some C++ books (which are more than worth the price)

2. A couple of chapters of the TECS book are not published online, but you can still get a LOT of value from the other 12 chapters that are published.

3. The Just Java book is not free, but you haven't expressed an interest in learning Java so far.

4. The K&R C book isn't free, but Programming in C which is linked right beneath it is.

The Python book that I linked is free, in numerous formats. The same is true of nearly all the other resources linked to in the guide. Not only are those resources free, but they've been vetted by several experience programmers for quality and accuracy of information.

Link to comment
Share on other sites

Did you actually read the page I linked? Nearly all the resources I link there are completely free. The only exceptions are:

1. Some C++ books (which are more than worth the price)

2. A couple of chapters of the TECS book are not published online, but you can still get a LOT of value from the other 12 chapters that are published.

3. The Just Java book is not free, but you haven't expressed an interest in learning Java so far.

4. The K&R C book isn't free, but Programming in C which is linked right beneath it is.

The Python book that I linked is free, in numerous formats. The same is true of nearly all the other resources linked to in the guide. Not only are those resources free, but they've been vetted by several experience programmers for quality and accuracy of information.

Oops sorry I read the post but i didn't notice the links... p.s I like the comparison to the hammer and the nail gun. :D

Edited by ~*L33T_NiNj4*~
Link to comment
Share on other sites

Thanks for clearing that up Sitwon. I have been studying C++ and yes it will turn a normally rational/calm peson into a ticking timebomb : P I started studying C also per your recomendation and find that it's pretty close to C++, a lot of times I'll read tutorials and it will be hard to tell the difference in the code. I am using it for security stuff as you know, can you recommend any concepts that I should learn that would assist in this field?

I can definately see python being created for simplicity. I was writing a file parser the other day in C++ and the EXACT same thing took MUCH less code and MUCH less time in python. On the contrary though, python is pretty slow at parsing files compared to C++.

So in retrospect l33t ninja, I think you should start with C/C++ first. It's going to give you a base that will serve you well throughout the rest of your career as a programmer. Not to mention after learning C/C++ interpreted languages won't be difficult to learn and you'll have a huge leg up. Regarding resources, I've found the best way to learn programming is to find a task you want to do and do it. If you get stuck come post here. Spend more time creating programs than reading how to create them. There are some basics you'll need to learn like arrays and functions and classes, but past that the only way to really learn it is to create programs and smile when they work : )

Link to comment
Share on other sites

  • 2 months later...

Actually its best to start with VB if you're on Windows.

Care to elaborate on this?
C/C++ was designed for nix.
C was designed by the some of the same people who wrote Unix, but it wasn't designed _just_ for Unix. It was specifically designed to be a portable language that could be used on different computer systems. Unix was rather famously the first OS written in C, but Windows is also written in C and C++ (not in VB or even VB.Net).
Link to comment
Share on other sites

Actually its best to start with VB if you're on Windows. C/C++ was designed for nix. Theres more of a learning curve involved and the syntax can get pretty confusing. The ony difference is performance and protability. Check out books written by Knuth.

C/C++ can get confusing like you say, but my philosophy is that it's best to start with the hard stuff, that way it will only get easier.

I also find that when programming for Windows, it doesn't matter what language you use because most of the code is going to be based around the win32 api and each language will have their own unique support for that.

Link to comment
Share on other sites

  • 1 month later...

I started by learning Python and from there it was really easy to pick up other languages like Java and C++, Python was great for me because it helped me understand some of the basic concepts of programming in a very understandable way

Link to comment
Share on other sites

  • 1 month later...
Guest NeoSilky

I started off with Java and so I find it the easiest. I've expanded loads and recently doing some Python and I find it a lot looser and nicer than Java and the interface libraries are quite nice. I'm trying to get into C so I've bought some Microcontrollers and I'm programming on my laptop!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...