~*L33T_NiNj4*~ Posted June 19, 2012 Share Posted June 19, 2012 (edited) 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 June 19, 2012 by ~*L33T_NiNj4*~ Quote Link to comment Share on other sites More sharing options...
Sitwon Posted June 19, 2012 Share Posted June 19, 2012 That depends on what language(s) you already know. Quote Link to comment Share on other sites More sharing options...
digip Posted June 19, 2012 Share Posted June 19, 2012 Easiest is probably html and css. Hardest, is probably assembly. Just my opinions though. Quote Link to comment Share on other sites More sharing options...
justapeon Posted June 20, 2012 Share Posted June 20, 2012 Easiest is probably html and css. Hardest, is probably assembly. Just my opinions though. Excepting doing math, assembly is just a matter of loading a register and then doing a system call. Quote Link to comment Share on other sites More sharing options...
Infiltrator Posted June 20, 2012 Share Posted June 20, 2012 PHP is an easy language to learn, but can be a little bit complicated due to the math. Quote Link to comment Share on other sites More sharing options...
bobbyb1980 Posted June 20, 2012 Share Posted June 20, 2012 My first language was Python and I thought it was great. What I like most about it is that it's object oriented, has a very easy to read syntax, and it has a lot of real world applications. Quote Link to comment Share on other sites More sharing options...
Sitwon Posted June 20, 2012 Share Posted June 20, 2012 PHP is an easy language to learn, but can be a little bit complicated due to the math. It's not the math that makes it complicated. http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ Quote Link to comment Share on other sites More sharing options...
keyboardN1nja Posted June 23, 2012 Share Posted June 23, 2012 (edited) 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 June 23, 2012 by keyboardN1nja Quote Link to comment Share on other sites More sharing options...
flyingpoptartcat Posted June 24, 2012 Share Posted June 24, 2012 I tried various languages and for me perl was easy to learn but you have to try out for you're self. in short my recommendations are: perl, ruby, and python (in that order) Quote Link to comment Share on other sites More sharing options...
Infiltrator Posted June 24, 2012 Share Posted June 24, 2012 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. Quote Link to comment Share on other sites More sharing options...
xrpixer Posted June 27, 2012 Share Posted June 27, 2012 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. :) Quote Link to comment Share on other sites More sharing options...
bobbyb1980 Posted June 27, 2012 Share Posted June 27, 2012 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. Quote Link to comment Share on other sites More sharing options...
~*L33T_NiNj4*~ Posted June 28, 2012 Author Share Posted June 28, 2012 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? Quote Link to comment Share on other sites More sharing options...
bobbyb1980 Posted June 28, 2012 Share Posted June 28, 2012 (edited) 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 June 28, 2012 by bobbyb1980 Quote Link to comment Share on other sites More sharing options...
Sitwon Posted June 28, 2012 Share Posted June 28, 2012 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. Quote Link to comment Share on other sites More sharing options...
~*L33T_NiNj4*~ Posted June 28, 2012 Author Share Posted June 28, 2012 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. Quote Link to comment Share on other sites More sharing options...
Sitwon Posted June 28, 2012 Share Posted June 28, 2012 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. Quote Link to comment Share on other sites More sharing options...
~*L33T_NiNj4*~ Posted June 28, 2012 Author Share Posted June 28, 2012 (edited) 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 June 28, 2012 by ~*L33T_NiNj4*~ Quote Link to comment Share on other sites More sharing options...
bobbyb1980 Posted June 30, 2012 Share Posted June 30, 2012 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 : ) Quote Link to comment Share on other sites More sharing options...
logicalconfusion Posted September 6, 2012 Share Posted September 6, 2012 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. Quote Link to comment Share on other sites More sharing options...
Sitwon Posted September 6, 2012 Share Posted September 6, 2012 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). Quote Link to comment Share on other sites More sharing options...
bobbyb1980 Posted September 6, 2012 Share Posted September 6, 2012 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. Quote Link to comment Share on other sites More sharing options...
biob Posted September 6, 2012 Share Posted September 6, 2012 I think python is the easiest to learn. However for power and speed of applications, C is still king(and it's a lot easier to learn then assembly) and with C it can also be used for embedded device's. Quote Link to comment Share on other sites More sharing options...
danielbrthwt Posted October 14, 2012 Share Posted October 14, 2012 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 Quote Link to comment Share on other sites More sharing options...
Guest NeoSilky Posted December 5, 2012 Share Posted December 5, 2012 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! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.