EvilZone

Hacking and Security => Tutorials => : Matriplex October 29, 2013, 01:31:58 AM

: Learning A New Programming/Scripting Language
: Matriplex October 29, 2013, 01:31:58 AM
    I have been browsing around the forums for a little while now and I have realized that some people seem to say, 'Well I don't know this language, let's find a way to do it in another language.', and I think to myself, 'Why? This is a PERFECT opportunity to learn that language because you have a need and a use for it, and that is the best way to learn one!'. So here I will create a short post on how I usually start learning another language.

Tip 1 - Find a use for the language. If you never figure out something that you think, 'Hey that language would be amazing for this project!', you're never going to be motivated to use the language in question. For example; 'I really want to program something to access my schools database from my desktop to see my grades whenever I type in "./grades", that would be so easy and neat!'.  In that case you could use a variety of different languages, Python or PHP as well as a few others, but if you already know PHP could try your hand at doing it in Python.

Tip 2 - Syntax. In many, many programming languages syntax can be very similiar. Take C, Java, C++, and C# for example. Their syntax is very similar when you look at them. They all have primitive types that you have to declare before a variable, therefore naming it to that type. This makes it very easy for a Java programmer to look at C++ code as long as they know a little bit of the C++. So try and take your knowledge from other languages and port it over to the language you are trying to learn.

Tip 3 - Use Google! Google is your friend when you are learning a new language. A simple search of 'Ruby Tutorials' brings up a plethora of good tutorials on the web. Personally, I like YouTube videos because I am a 'hearing' kind of thinker. You know what I mean if you're a social engineer. Don't you try anything on me brother. Anyways, you may like other ways so think of how you like to learn. If you're a reader check out Amazon or our eBook section here at EZ. If you're a visual or hearing thinker look into YouTube or some other media site.

Tip 4 - Know your limit and don't give up. I know that when I started learning Java, my first real programming language, I was so so intimidated by it. int? long? byte? WHAT? When you start thinking like that it's normally a good time to take a break for a bit. Go for a hike or walk the dog. Do a bit of studying if you're in school. Most of these things (minus the studying ;) ) will help clear your head up a bit for your next attempt to dive into the next tutorial/book/video.

Tip 5 - Have fun! Learning a new programming/scripting language should be fun, not a drag. If you find you forcing yourself to open up the IDE or notepad or gedit (As pointed out by vezzy, notepad and gedit are not good editors at all. Agreed.) it is normally a good time to look at Tip 4. To add a little variety to the boring old varA = 10, varB = 20, use different variable names but make sure they still make sense! The reason I say this is because if you have a really large program with many variables, having random names is going to really confuse you.

There are five tips that I use whenever I start learning a new language, I hope they help you as they do me. Now get out there and learn a new language! Have fun! Prosper!
-cMp
: Re: Learning A New Programming/Scripting Language
: vezzy October 29, 2013, 02:53:37 AM
2). Most imperative languages do have a similar syntax largely due to descending from the ALGOL model. C# does have primitive types.

5). Poor choice of editors.
: Re: Learning A New Programming/Scripting Language
: Matriplex October 29, 2013, 02:59:20 AM
Edited appropriately, thanks.
: Re: Learning A New Programming/Scripting Language
: Raavgo October 29, 2013, 03:25:17 AM

5). Poor choice of editors.


Some nice editors:
notepad++ (though it is Windows only as far as I remember)
Sublime text
Code::Blocks (nice C and C++ Editor)
Eclipse (Java mainly but I use it for python as well)


There a lots of editors out there but these  my favourite ones.

: Re: Learning A New Programming/Scripting Language
: vezzy October 29, 2013, 03:37:01 AM
Sublime Text is proprietary software.

The latter two are IDEs.
: Re: Learning A New Programming/Scripting Language
: Raavgo October 29, 2013, 03:53:21 AM
Sublime Text is proprietary software.

The latter two are IDEs.


Proprietary Software? Could be that this is the case, but you can still use it as far as I remember
: Re: Learning A New Programming/Scripting Language
: Deque October 29, 2013, 09:42:04 AM
All in all you make good points here. If one already knows how to program (and I mean you should really know it), trying out other languages is a must. If one is still a beginner it might backfire.

thenewboston is really a bad recommendation. He teaches bad habits, he teaches you wrong stuff (because he has no clue about the languages himself). It will take much more time to get rid of your false assumptions you get by learning from him, than learning it right in the first place.
Give me one Java tutorial of his and I will point out all the errors in there.

but make sure they still make sense!
in the beginner tutorials he names variables and methods/functions stuff like banana and apple, because why the hell not?

Because they don't make sense. (Not to mention that he ignores the Java code conventions)
: Re: Learning A New Programming/Scripting Language
: Matriplex October 29, 2013, 03:14:41 PM
Good point actually Deque, I'll remove thenewboston piece. I actually learned Java beginning with his tutorials but I did definitely realize later that they taught me bad habits.
: Re: Learning A New Programming/Scripting Language
: vezzy October 29, 2013, 03:28:43 PM
Proprietary Software? Could be that this is the case, but you can still use it as far as I remember

Please educate yourself on what proprietary software is and the ethical issues surrounding it before spewing such stupidity again.
: Re: Learning A New Programming/Scripting Language
: Raavgo October 29, 2013, 03:53:55 PM
Please educate yourself on what proprietary software is and the ethical issues surrounding it before spewing such stupidity again.

I'm not sure why you are pissed that much...
I know what proprietary software is I just don't understand why its a big deal though.
Basicly I just said you could use it and it is a great tool. (If you use it or not is up to you)
I never said it was open source.
: Re: Learning A New Programming/Scripting Language
: vezzy October 29, 2013, 04:19:29 PM
I know what proprietary software is I just don't understand why its a big deal though.
[...]
I never said it was open source.

You're on a forum for hackers and you don't think proprietary software is a big deal? It's pretty much the antithesis of everything hackers stand for.

Please don't use the term "open source" as the opposite of proprietary. It's free software. Learn the nomenclature already.

https://www.gnu.org/philosophy/proprietary.html (https://www.gnu.org/philosophy/proprietary.html)
https://www.gnu.org/philosophy/free-sw.html (https://www.gnu.org/philosophy/free-sw.html)
https://www.gnu.org/philosophy/open-source-misses-the-point.html (https://www.gnu.org/philosophy/open-source-misses-the-point.html)
: Re: Learning A New Programming/Scripting Language
: Raavgo October 29, 2013, 07:05:45 PM
You're on a forum for hackers and you don't think proprietary software is a big deal? It's pretty much the antithesis of everything hackers stand for.

Please don't use the term "open source" as the opposite of proprietary. It's free software. Learn the nomenclature already.

https://www.gnu.org/philosophy/proprietary.html (https://www.gnu.org/philosophy/proprietary.html)
https://www.gnu.org/philosophy/free-sw.html (https://www.gnu.org/philosophy/free-sw.html)
https://www.gnu.org/philosophy/open-source-misses-the-point.html (https://www.gnu.org/philosophy/open-source-misses-the-point.html)


I understand your point of view, I really do.
Still it is a very good editor and lot of coders like it (even some hackers as u can see here http://evilzone.org/hacking-and-security/(cracked)-sublime-text-2-0-2-linux-evilzone-crack/ (http://evilzone.org/hacking-and-security/(cracked)-sublime-text-2-0-2-linux-evilzone-crack/))
I don't want to point it out as THE editor I just wanted to contribute to this post.
Even if you don't like proprietary software you have to admit its a good editor.
But I am eager to learn and open for any good free text editor for Windows/Linux

: Re: Learning A New Programming/Scripting Language
: geXXos October 29, 2013, 11:29:08 PM
Partially i agree with you vezzy, all though your behavior was kind of rude and unfair toward Raavgo since he did not said something stupid, and he is a good member.

And i am saying that cause you are using exceptionally well the English language (much better than some native speakers), and i am sure you could find a different way to show him your disagreement.

Anyway i think, the proprietary/free software/open source debate, is a bit hypocritical. Open source software may empowers the user, but also bares a lot of "drawbacks", some simple are not reliable, no qualified support available, cause there is little or no money put into development, can easily become outdated etc. Also the most of the people are not tech-savvy's to build on an open source software, and no free online community gives the support that a company you pay does. Exceptions do exist though.


Please don't use FOSS examples like nginx, onion, orbot etc., (those some of the best FOSS for 2013), there are big company's that backup those software with money, money and advertisement rule our world.


I believe that developers have the right to use licences on their software, and even ask money for them, i hate it when i see people  to disrespect the "free licences" of other peoples code/software, and gain credit and money in some cases with someone else's work.


I admire and i am greatfull  to the devs that build free software, some of the best software are actually free. But if i can afford to buy something that is worth it i will, and i wont complaint that i gave money, neither i will say '' Oh!! this is against my 'hacker' ideology, i will not use it " ofc, if i can i will break it and share it, but that's another story.


Also we are not all hackers inside here.


To the topic, i think Sublime Text is great editor, but Notepad++ is much better for me, the only reason to use ST is if someone works to different environment's since ST works on win, mac, and linux, with no any modification.
: Re: Learning A New Programming/Scripting Language
: vezzy October 30, 2013, 12:22:08 AM
Free software is free in the sense of freedom, and not necessarily in price. One can still make a profit off it, using various business models.

Not all free software licenses are copyleft like the GPL. Some, like the BSD licenses, allow for the software to be used in proprietary settings as well. In fact, the reason you can surf the web today on Windows and OS X is because the permissive terms of the FreeBSD license allowed the inclusion of their TCP/IP stack into the former two proprietary operating systems.
: Re: Learning A New Programming/Scripting Language
: Kulverstukas October 30, 2013, 08:09:50 AM
(http://images.sodahead.com/polls/0/0/2/5/6/1/0/1/3/1012721218_ThreadDirection.jpeg)
: Re: Learning A New Programming/Scripting Language
: Matriplex October 31, 2013, 01:56:32 AM
(http://images.sodahead.com/polls/0/0/2/5/6/1/0/1/3/1012721218_ThreadDirection.jpeg)

I was thinking the same :P
: Re: Learning A New Programming/Scripting Language
: Pluto December 15, 2013, 11:13:26 PM
thenewboston is really a bad recommendation. He teaches bad habits, he teaches you wrong stuff (because he has no clue about the languages himself).


You know I was going to try to debunk your argument, but then I looked over his videos again and realized that thenewboston isn't as good of a source as I thought he was. For someone who is getting hang of python, do you have an suggestions for tutorials? I've heard about Learn Python the Hard Way, and thought I might check it out.
: Re: Learning A New Programming/Scripting Language
: Matriplex December 16, 2013, 02:23:09 AM
What really actually helped me was going to securityoverride.com and completing their programming challenges. I did all of them in python, perl, and ruby so I could get comfortable with them all.
: Re: Learning A New Programming/Scripting Language
: Pluto December 16, 2013, 06:13:30 AM
What really actually helped me was going to securityoverride.com and completing their programming challenges. I did all of them in python, perl, and ruby so I could get comfortable with them all.
Took a look at all the challenges. Gonna be a hell of a couple weeks, thanks. Also I found learningpython.org which seems efficient enough to teach me indeterminate concepts. With that and the python documentation I will try to do these challenges in python and learn along the way.