EvilZone
Community => General discussion => : Josiah23 August 23, 2015, 06:43:08 AM
-
Hello everyone @ EvilZone, I just want to ask which programming/scripting language is the easiest to learn?
-
There's no language that is deemed easiest, any can be easy to learn, anyways first what would you like to do with programming? so we can help you choose one in that domain
-
Brainfuck.
-
There's no language that is deemed easiest, any can be easy to learn, anyways first what would you like to do with programming? so we can help you choose one in that domain
@IamMe, I want to do a lot with programming, as a white/grey hat "hacker". I want to build my way up from knowing absolutely little to no hacking and programming skills to being an advanced programmer. I want to build OS's from dirt (scratch), be a security expert, specialize in penetration testing. I cant lie about me wanting to crack a password or two. I want to start off with the easiest language and go from there (or whatever suits me best in specifically what I want to do.) After all I do have Kali Linux 2.0 which is loaded with hacking tools, but don't know how to use any of them yet.
Brainfuck.
I've never heard of it until now.
The Quieter You Become, The More You Are Able To Hear. -Kali Linux
Staff note: Stop double posting, use the modify button.
-
Avoid double posts - use the "modify" button instead. :)
I was being sarcastic with Brainfuck - I just couldn't resist. :D
I'd recommend learning Python. There's no such thing as the "easiest programming language", though. You also shouldn't try to do / learn everything at once. Forget about building LFS for now. Also, using scripts others wrote has nothing to do with being a programmer or a hacker.
/Oh, and why are you copying that quote at the end of every single post instead of using it as your signature? :D
-
Haha, I thought you were be serious on Brainfuck, but Python sounds like a good start. Oh, and your last question, are you referring to "The Quieter You Become, The More You Are Able To Hear." I have it as my signature for the Tapatalk app. Is it not showing up as a signature? :/
I tried Python a while back and still remember a very little of it, but I have to catch up on Python 3
The Quieter You Become, The More You Are Able To Hear. -Kali Linux
Staff note: Really, dude, stop double posting. Use the modify button.
-
Ah, all right - no, it appears as if you just wrote it beneath every post.
Btw, you just double posted again. :D
Python 3 isn't really needed, most use Python 2.7.
-
I'm not seeing a double post, but I do have to click the send button twice in order for it to send or it'll seem like it just delete my post for me.
Edited: Oh, I see what you mean by double post.
The Quieter You Become, The More You Are Able To Hear. -Kali Linux
-
I'm not seeing a double post, but I do have to click the send button twice in order for it to send or it'll seem like it just delete my post for me.
Edited: Oh, I see what you mean by double post.
The Quieter You Become, The More You Are Able To Hear. -Kali Linux
Double post is just two in a row or more. It doesn't mean it's a duplicate, it means your spamming the thread with multiple entries right after the other. This is okay in some situations, but not this one. I have fixed your mistake twice, now that you know what it is, please stop and use the modify if you have more to add to a post.
Also, you can add that Kali quote to your signature in your profile options so you don't need to post it every time.
-
Double post is just two in a row or more. It doesn't mean it's a duplicate, it means your spamming the thread with multiple entries right after the other. This is okay in some situations, but not this one. I have fixed your mistake twice, now that you know what it is, please stop and use the modify if you have more to add to a post.
Also, you can add that Kali quote to your signature in your profile options so you don't need to post it every time.
I'm not adding the Kali post, it's my signature for all my Tapatalk forums.
(http://images.tapatalk-cdn.com/15/08/23/1eacebc890283999858f2dce48880d33.jpg)
(http://images.tapatalk-cdn.com/15/08/23/a2d79679cf352dc5fadfffbd4cd0a31b.jpg)
-
Ah, all right - no, it appears as if you just wrote it beneath every post.
Btw, you just double posted again. :D
Python 3 isn't really needed, most use Python 2.7.
Python is a fun programming language to learn and you don't have to worry much about using header files and compiling and etc. Hell, you can mess around with it in an interpreter or programs for developing python code.
Once you master Python any other language should be easy since you already know programming basics, although you would have to get used to their different syntax.
-
Python is a fun programming language to learn and you don't have to worry much about using header files and compiling and etc. Hell, you can mess around with it in an interpreter or programs for developing python code.
Once you master Python any other language should be easy since you already know programming basics, although you would have to get used to their different syntax.
How long do you think it'll take to master Python? Less than a year?
-
How long do you think it'll take to master Python? Less than a year?
Depends on how much time you devote to learning it and how fast of a learner you are. It might take a few months to learn the basics and I'm finally getting the hang of Python after deciding to settling down with learning it.
-
Guess its all been said, python it is..... start with it, do as much as you can with it, if you understand the concept of coding in one language you can move to another easily.
Hmmm don't really use python much but since you just starting out i'll advice you to go with python v3, yeah yeah some might say most scripts are in v2 but that doesn't stop it being in v3 cause i know most v2 lib are now ported to v3, v2 was popular cause its older and still maintained also most people started out with it, since v3 is here to stay that you must learn(oh well its just my own point of view, some may say otherwise)
How long it might take?
Depends on how any hours you can put in a day, if you so free that you can do 10-15hrs/day then you will be alright in no time
For resources,
if you wanna start lightweight and with a project driven approach start with "Starting out with python 3rd edition by Tony Gaddis"
A more comprehensive would be "Learning Python 5th edition" though its approach is much like api tut rather than the project driven which most times we get excited about
After that would be "Programming Python 4th edition" this is more like a sequel to learning python, totally project driven lost in the named above
To complement these you can get The New Boston tutorials on python3 , some people find it hard reading only, so you could use the videos topic by topic with the ones in the book
Last but no the least Albert's inventwithpython.com (http://inventwithpython.com), this site has free ebooks on gaming and cryptography topics (likewise you could also start with these cause it assumes no coding exp, teaches as you move....so you could use this ones to get your feet wet).
Finish these and you would be awesome in coding, you wouldn't even need someone to show you where to go next, you would know
May the force be with you!!
-
Guess its all been said, python it is..... start with it, do as much as you can with it, if you understand the concept of coding in one language you can move to another easily.
Hmmm don't really use python much but since you just starting out i'll advice you to go with python v3, yeah yeah some might say most scripts are in v2 but that doesn't stop it being in v3 cause i know most v2 lib are now ported to v3, v2 was popular cause its older and still maintained also most people started out with it, since v3 is here to stay that you must learn(oh well its just my own point of view, some may say otherwise)
How long it might take?
Depends on how any hours you can put in a day, if you so free that you can do 10-15hrs/day then you will be alright in no time
For resources,
if you wanna start lightweight and with a project driven approach start with "Starting out with python 3rd edition by Tony Gaddis"
A more comprehensive would be "Learning Python 5th edition" though its approach is much like api tut rather than the project driven which most times we get excited about
After that would be "Programming Python 4th edition" this is more like a sequel to learning python, totally project driven lost in the named above
To complement these you can get The New Boston tutorials on python3 , some people find it hard reading only, so you could use the videos topic by topic with the ones in the book
Last but no the least Albert's inventwithpython.com (http://inventwithpython.com), this site has free ebooks on gaming and cryptography topics (likewise you could also start with these cause it assumes no coding exp, teaches as you move....so you could use this ones to get your feet wet).
Finish these and you would be awesome in coding, you wouldn't even need someone to show you where to go next, you would know
May the force be with you!!
Thanks for the helpful information, I'll definitely check out those website. I'll try to put around 10 hours into Python the days I'm off. @insert-name-here, I'm a somewhat fast learner, it depends on how badly I want to learn it, and in this case, I want it bad.
-
@IamMe, I want to do a lot with programming, as a white/grey hat "hacker". I want to build my way up from knowing absolutely little to no hacking and programming skills to being an advanced programmer. I want to build OS's from dirt (scratch), be a security expert, specialize in penetration testing. I cant lie about me wanting to crack a password or two. I want to start off with the easiest language and go from there (or whatever suits me best in specifically what I want to do.) After all I do have Kali Linux 2.0 which is loaded with hacking tools, but don't know how to use any of them yet.
I've never heard of it until now.
The Quieter You Become, The More You Are Able To Hear. -Kali Linux
Staff note: Stop double posting, use the modify button.
Do NOT look for 'easy', look for 'versatile'. If you're wanting to do all of those things, particularly that which requires lower-level experience(systems level development, for operating systems), then you should start with C. You should start with C anyway, but really..you're basically asking directly to learn C.
C is used for basically everything.
- Your OS is coded in it(as most are).
- System libraries are coded in it.
- In searching for major vulnerabilities, you'll need to know C.
- Most programming languages that are popular today are related to C.
- Most of the technology that's used on the Internet is designed around BSD sockets, which are implemented in C.
- You WILL need to learn it to achieve your goals.
Python is 'okay' and all, and it may give you a bit of a jump into 'immediate satisfaction', knowing that you can accomplish something relatively quickly. But, ultimately, your best bet is to learn C first and branch out from there. With a solid understanding of C, every other programming language is easier to learn, because you've learned the root. It's kinda like learning Latin and then being able to more easily understand languages that evolved from Latin. There are some differences between languages, obviously, but the similarities that exist make the differing syntax easier to learn.
-
Do NOT look for 'easy', look for 'versatile'. If you're wanting to do all of those things, particularly that which requires lower-level experience(systems level development, for operating systems), then you should start with C. You should start with C anyway, but really..you're basically asking directly to learn C.
C is used for basically everything.
- Your OS is coded in it(as most are).
- System libraries are coded in it.
- In searching for major vulnerabilities, you'll need to know C.
- Most programming languages that are popular today are related to C.
- Most of the technology that's used on the Internet is designed around BSD sockets, which are implemented in C.
- You WILL need to learn it to achieve your goals.
Python is 'okay' and all, and it may give you a bit of a jump into 'immediate satisfaction', knowing that you can accomplish something relatively quickly. But, ultimately, your best bet is to learn C first and branch out from there. With a solid understanding of C, every other programming language is easier to learn, because you've learned the root. It's kinda like learning Latin and then being able to more easily understand languages that evolved from Latin. There are some differences between languages, obviously, but the similarities that exist make the differing syntax easier to learn.
C sounds great! I just bought a $17 book called "Learn Python the Hard Way" by Zed A. Shaw[emoji16] which is pretty handy.
Edited: I'm confused now on which one to learn first[emoji20] , some say Python and others say C. Python is easier to learn, but C is used for "basically everything" and will make other programming languages easier.
-
K, *most* people say Python for a few reasons:
- It's 'easier'; meaning there's less to deal with like data types, memory management, etc. Python abstracts most of the lower-level concepts so you don't have to worry about it.
- You can develop a bit more rapidly; meaning you can see farther-reaching effects from lesser code. This is, again, due to the abstraction.
- You get more 'immediate' results; meaning you get to skip processes like compilation since, as a scripting language, you can run the code directly.
- Python is popular amongst younger crowds and there's a lot of documentation concerning specific things that people intend to do, which means less time spent designing and more time just *doing*.
Reasons to skip Python for now and instead learn C:
- You cannot write an OS in pure-Python. Python is inappropriate for a kernel, a bootloader, a memory manager, low-level hardware interaction, etc.
- Learning Python does not help you understand common exploit types like buffer overflows, heap overflows, format string vulnerabilities, off-by-one, etc.
- Learning Python does not help you understand dynamic libraries, how they're created, how they're used, how they're loaded, etc. This information is essential for certain security exploits and patches.
- Learning Python does not help you understand major vulnerabilities in systems-level code. Most notably, RCE issues in major Windows libraries, any kernel-based local privilege escalation vulnerabilities, race conditions in 'secure' privileged processes, etc.
- You will have to learn C to understand any of the above concepts anyway.
- Learning C will help you understand the creation and use of common data structures. This information can lead to a better understanding of the operation of many technologies that you take for granted; routers, databases, web browsers, games, etc.
- Learning C makes it easier to learn: C++, C#, Python, PHP, Ruby, Java, Go, Awk, Perl, etc.
- Because it's the right thing to do.
Reasons that I dispense this advice:
- I am a systems-level developer with experience writing operating systems, system libraries, kernel patches, kernel modules, libraries, drivers, bootloaders, service daemons, etc.
- I have exploited kernels, libraries, drivers, bootloaders, service daemons, etc.
- I have patched all of the above.
- I have learned C, C++, Perl, Python, Ruby, PHP, Java, JavaScript, Go, Awk, Pascal, VB, C#, Delphi, Lisp, Lua, C--, Brainfuck, Haskell, Ada, Forth, HLA, RPG, TCL, Verilog, Objective-C, ASM, and more.
- I have taught C, C++, Perl, Python, PHP, Java, C#, ASM and more.
- Systems-level development is my preferred area of focus, including embedded systems and operating system code.
- I have never known someone who started with C to regret it.
- I have known some who started with Python and ended up having difficulty with other languages. A few have even given up.
Trust me. If you're serious about your goals/aspirations, start with C.
-
Some very good pros and cons there and quite the list of known languages you have. Almost got the "brainfuck" one by me... nearly missed it. Really though I enjoyed reading these. Thank you.
-
Sheesh, you learn 27+ languages? I feel like it's going to be a long ride trying to learn C, but I guess I could trust you in learning C first. Thank you for the pros & cons list too, it was very helpful.
-
Thanks for the helpful information, I'll definitely check out those website. I'll try to put around 10 hours into Python the days I'm off. @insert-name-here, I'm a somewhat fast learner, it depends on how badly I want to learn it, and in this case, I want it bad.
I give you a week, maybe two. Depending on how fast you fail. Because saying you will devote 10 hours every time you are off is just not normal. You look like Kali is your idol, great.
Thank god your posts don't have that quote any more. Now I only need to see it once every time you spam shit.
Edit: fuck its in the post above mine. Could you remove that shit?
-
Captain here,
This thread is shit with the exception of Xires input
*flies away*
Btw, Xires I'm kind of surprised you took the time to write that, I know you can obviously see the OP won't accomplish anything whether it be python or C...
-
I am convinced to learn C. Thank you Xires for an enlightened response.
Should be stickied so we can reduce the amount 'What programing language should I learn to be 7337?' type of questions.
I also find the kali quote to be offensive and insulting to the eyes.
-
Thanks for that great post, Xires. Take that tasty cookie, you deserve it.
Actually, I didn't start out with Python, either, but so many people recommend it as the first language to learn I actually thought it would work even better that way. Thanks to your post, I'm glad I did it the other way around. :)
(I'm just mediocre, though, but I'm working on that.)
-
If i hadn't done anything like C yet, that moved me in alot of ways.
Though you know our view as C++ programmers about C. We loves the niceness of C++ while still getting the lowlevel access. Like a captain in StarTrek.
Come to my level ptales
-
Captain here,
This thread is shit with the exception of Xires input
*flies away*
Btw, Xires I'm kind of surprised you took the time to write that, I know you can obviously see the OP won't accomplish anything whether it be python or C...
As you know, even when you're truly serious and devoted to learning a language, you face pretty constant discouragement. Things don't appear to make sense just yet, you keep forgetting simply syntax things like semicolons or case-sensitivity, you can't remember those library calls correctly, etc. There's plenty of discouragement already to be had...I felt no need to add to it. If the OP, or anyone, decides to quit before reaching their goals, so be it; but I will not be one of the many reasons they felt they could not do it. Sometimes that's enough for someone to keep trying.
-
Some very good pros and cons there and quite the list of known languages you have. Almost got the "brainfuck" one by me... nearly missed it. Really though I enjoyed reading these. Thank you.
Are you implying that brainfuck is not a real language?
-
I give you a week, maybe two. Depending on how fast you fail. Because saying you will devote 10 hours every time you are off is just not normal. You look like Kali is your idol, great.
Thank god your posts don't have that quote any more. Now I only need to see it once every time you spam shit.
Edit: fuck its in the post above mine. Could you remove that shit?
I believe it's gone now, but your giving me a week or two to fail? OK, I'm not going to stop learning it until Ive mastered or at least know a good chunk of it. It could be Python, Ruby, C, C++, C#, Java, SQL, PHP, and so on... 12 hours down today, 9,988 more hours to go.
-
+1 cookie for determination. Keep it up. You can never learn too much(unless it's that your parents have a cam site).
-
+1 cookie for determination. Keep it up. You can never learn too much(unless it's that your parents have a cam site).
Thanks for the cookie, even though I'm not sure what that is. you have 140, I and I'm at -6
Edited: -8 now :/
Edited again: I see where It says "steal a cookie", but I don't steal. :/
-
'Cookies' are one of the ways that we keep track of how useful someone's posts have been to the community. Someone with a positive cookie count is seen as being useful/helpful; their advice is generally given more merit and their opinions are generally better respected because, overall, they have been a positive influence in the community. Someone with a negative cookie count is considered to have less value to the community; their opinions are not considered to matter, much, and their advice is usually ignored because it is often completely useless.
For now, you can probably just ignore the cookies thing. Just concentrate on learning.
How's that coming, by the way? You haven't given up yet, have you?
-
I haven't given up yet! It's actually becoming easier as I learn more, but I'm probably spending way to much time each and everyday on this to the point where sleep isn't an option. :/ I should probably start sleeping more. :/ Thanks for checking on me though. :) XD
-
I like your mindset. Take that cookie. And sleep is overrated ;)
-
You might also want to look at Perl Programming. There is ton of resources available for free and it is backed by a strong community and above all it has CPAN[ free modules ].
-
Sure will! :)
-
@Josiah23; how's it coming? Still dedicated? Anything causing serious roadblocks?
-
Pretty good so far, nothing is causing any roadblocks. I eventually took a 20 or so hour break on my days off to rest, look at some colleges and mess around with some Linux distros.
-
fullquote
This. I wish I would have gotten this advice when I first started learning. I started with Python and struggled when transitioning to other languages. Something that may be easier today is not always the best choice from tomorrow.
-
In truth, Ruby is more simpler than Python but it is server-side. Think of it as web-hacking. But I do not fancy web-hacking (you know, SQL just makes no sense to someone that is so obsessed with C/C#, and I am not even talking about C++, where the most complex of templates are replaced with "where ABCD*
do XYDZ".) There is a thumb of rule for learning mathematics.
If you learn the most complex theorems and algorithms and corollaries that do not depend upon all but the simplest theorems, and you can calculate the spherical front fact of a pyramid in a few seconds, you'll get 97% in algebra/calculus undergrad courses without even reading the textbooks. Why, because when the teacher is teaching the most basic stuff, you already have trained your brain to be equivalent of the professor, and one-time revision in the class room is enough to get you A++. Because you don't need to be taught Pythogoras theroem when you already know Fermat's Last Theorem , which was unsolved for three and half centuries. Pythogoras is AB + BC = AC (in its simplest form), which is not too hard for you.
Similar is the case for programming. If you start with C (which is, trust me, still one of the most simple programming languages despite it being the father of C++), you'll be like "holy shit, how easy it is in Python!" instead of the vice versa and have Python as first language and say, "HOLY SHIT!!!! So this was the underlying fundamental layer under my simple Python command."
For your required goals, I suggest a multitude of languages.
Obviously C, some C++, C# (managed memory, wheeeeeeeewwwww, thread safety, libraries, whewwwwwww) and Python. Learn in that order, or learn C# before C++.
-
Pascal is very easy to learn
I guess "easy" is a relative category. The thing about Pascal is that it is mostly taught in schools where you're supposed to do only that - basic school tasks. That's probably why you say it's easy. You can't really say that it's easier to do a task with it than with dozen other langs. I started my programming with Pascal and then switched to C, and I'm still not sure if that's really the way you should go.
I totally recommend C as a first language, because it's more useful later (you don't use much Pascal now that you know it, do you), and it's great that you learn a thing or two along the way without knowing it (data types, sizes, etc).
OP, I don't think you should do it the way you said (10hr a day), you will get sick of it in days. I also recommend you to register on a website like hackerrank, codeforces, topcoder, codechef etc. where you can do tasks and keep track of your progress, plus you can try to do a task above your level and learn by doing it.
Since you're interested in much stuff, I suggest you pick one thing you want to learn first, get really good at it (which can take months or even years to do) and then advance to next one, rather than trying to learn variety of things at once and getting stuck at the beginning.
And think about removing that Kali quote, really.
-
I would recommend Python. It is what I started on and it helped me understand the thought process of writing a program without dealing with complex structuring or a picky syntax. I have also heard good things about Javascript but I've never looked at it. Good luck sir!(:
-
Im also will recomment you about python.
powerful language and theres a lot to metrial to learn on the internat.
if you will need help about python.. contact my for free my friend :)
-
Machine or ASM is pretty easy for a beginner,lol. I would go with either golang or python for readability and speed. If you are looking for a new language, or your first, python is alright, my only problem is it hides all the good stuff that makes a good programmer in an attempt to make is easy. Which is alright, but can potentially bore a beginner. To each their own.
-
Any programming language (or anything new in general) has its learning curve. On the other hand, the easiest programming language is something opinion based, and therefore it is not a valid criteria.
IMHO, if I had a chance to go back and start learning my first programming language, I would have suggested myself something like Python. To be able to learn and create something interesting a bit faster, than let's say in C. ;)
Fortunately or unfortunately, I can't say it now, for me it was other way around. The Godfather C was the first :D