Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

What language should you learn?

(Aug 18, 2016 06:06 AM)Arkks Wrote:  tbh it all depends what you trying to do. if you heading into botnets C and web deb is a good place to go but if your working on tools and other fun stuff go towards c# and .net

Well I mean first of all, .NET is a framework, not a language, and also a lot of tools can be written in C which arguably makes them better because of the versatility of it running natively on a system. Also proven by the NSA in the latest leak, I've been busy with some people reversing the tools and almost all of them are written in C except for the scripts.

Web-dev can be good for botnets and stuff, but not front-end stuff in most cases, usually you'd be aiming for something like PHP for the back-end, although knowing front-end can also be very useful.

Choosing a language does really depend on what you're trying to do, but I tried to give a good variety in suggestions,with brief descriptions, which you can go back into the information to check on to see if they fit what you're trying to do.
humble rubyist in a world of pythonistas
This is a really nice thread you've got here.

Bumping it up ;)
(Aug 18, 2016 06:23 AM)Faith Connors Wrote:  Well I mean first of all, .NET is a framework, not a language, and also a lot of tools can be written in C which arguably makes them better because of the versatility of it running natively on a system. Also proven by the NSA in the latest leak, I've been busy with some people reversing the tools and almost all of them are written in C except for the scripts.

Web-dev can be good for botnets and stuff, but not front-end stuff in most cases, usually you'd be aiming for something like PHP for the back-end, although knowing front-end can also be very useful.

Choosing a language does really depend on what you're trying to do, but I tried to give a good variety in suggestions,with brief descriptions, which you can go back into the information to check on to see if they fit what you're trying to do.

As Faith said, .NET is not a language it self. It is simply an Integrated Development Environment (IDE).
(Aug 18, 2016 08:55 AM)~ Left HF For Good ~ Wrote:  As Faith said, .NET is not a language it self. It is simply an Integrated Development Environment (IDE).

Nope, it's a framework. Not quite IDE. An IDE is the place where you write the code itself, the framework is more like the set of default libraries and resources that the program can use out of the box.

.NET = Framework
Metasploit = Framework

Visual Studio = IDE
Eclipse = IDE
humble rubyist in a world of pythonistas
Good stuff man thanks lots of usefull information for people that start
I liked this thread. It was well explained. I knew of these languages and I've dabbled in some of them but I don't know a few of them well. I am wondering if bash could count as a language that might be worth learning. Just as a question. I definitely will learn python again one day when I get good at what I have now. Someone told me Java is crap. It sounds like you don't agree. I don't know what to think about whether or not Java is crap because one of my computer science teachers actually loves the language. Anyways, its nice to see such a cool thread to give these coding languages as a recommendation to the user. Thanks.
(Aug 18, 2016 01:44 PM)fogstone Wrote:  I liked this thread. It was well explained. I knew of these languages and I've dabbled in some of them but I don't know a few of them well. I am wondering if bash could count as a language that might be worth learning. Just as a question. I definitely will learn python again one day when I get good at what I have now. Someone told me Java is crap. It sounds like you don't agree. I don't know what to think about whether or not Java is crap because one of my computer science teachers actually loves the language. Anyways, its nice to see such a cool thread to give these coding languages as a recommendation to the user. Thanks.

I read your reply and it immediately made me want to ask you what your goals are with programming? Can't really learn random languages without you requiring to learn or master them for something specific. I'm currently playing around with my Raspberry and am learning Python to control electronics and read sensory output using GPIO. When an artist wants to create an art piece, he won't start learning pencil drawing, painting, sculpturing, video editing, photoshop, photography, ... He will focus on the method required to achieve the goal that has been set, everything else is obsolete to reach that goal and will only make the whole learning curve experience bloated.

Java is fine for a lot of things, but definitely not the best pick. Too many lines of code required compared to other major languages, requires JRE (not native), horrible memory management and garbage collection, it's not something you'd want a large application to run on but it can do fine for small things.
[Image: Pi0HBk0.gif]
(Aug 18, 2016 01:44 PM)fogstone Wrote:  I liked this thread. It was well explained. I knew of these languages and I've dabbled in some of them but I don't know a few of them well. I am wondering if bash could count as a language that might be worth learning. Just as a question. I definitely will learn python again one day when I get good at what I have now. Someone told me Java is crap. It sounds like you don't agree. I don't know what to think about whether or not Java is crap because one of my computer science teachers actually loves the language. Anyways, its nice to see such a cool thread to give these coding languages as a recommendation to the user. Thanks.

Well, your first concern about Bash, if you're planning on using a Linux environment at all, whether it be for a computer science class or just for at home, yeah it's essential you learn it, because you're gonna be able to do jack-shit without it. The Linux environment relies entirely on the Bash shell so you'd have to learn the ins and outs, at least most of the common commands, like ls, cd, cat, mkdir, chmod, tar, rm, and so on.

As for whether it's a language or not, well you see that's where I'm a little torn. Personally I wouldn't call it a language, I would call it more of an environment but even that term isn't fitting for what it does. It's basically just a shell for you to do simple commands, but you can use it to launch all kinds of scripts and programs, like the Gnu-Cross-Compiler (GCC) or even the Xorg server (X window Manager). But .sh files, as you might be aware of, are associated with bash scripts. So in a way you can "program" with it, although all it really just does is lists out commands to do in order, checks if they complete successfully, and stuff like that. So it's not really a "programming" language, as you're still gonna be using tools developed in other languages like Python, C, Perl and Ruby within the shell.




Second part of your question, about Java.

Well, I may not express it that much in the thread because I don't want it to sound biased in any way, but personally I'm not a huge fan of Java. It's an incredibly old language, made in 1995 by SUN and for its time, it was somewhat revolutionary. It derived heavily from C and C++, and the runtime environments allowed it to be cross-platform and work really well without having to be a native language. It took off, started being used for all kinds of applications, but honestly I think it hit its "spike" around the time of the development of Minecraft. Since then, development in the language has gone down, more languages are available that are arguably better in areas where Java fell short of (virtualization) and are still cross-platform.

Java is a relatively simple language and it's really beginner friendly if you want to look at different concepts like Object-Oriented Programming. There are all sorts of resources online because it was extremely widely used. It still is, but that number has gone down drastically. Personally I'm giving it five years til it dies out altogether (only a few people left that use it for day-to-day programming) but some applications will still probably stay written in Java, like programs in cars, your coffee machine, etc. as it's just not worth the trouble of changing it. But I can understand why people would like the language, with it's inviting atmosphere, massive community and simplicity.




As Lante said, when choosing a language it really depends what your end-goal is. I tried to give some examples of what different types of languages are meant to accomplish so people can make a better decision. People who want to develop malware should be learning HTML, just doesn't make sense, (and mind you it's not even possible) but they're be better off with an actual programming language, probably Native like C or Delphi.
humble rubyist in a world of pythonistas
(Aug 18, 2016 09:02 AM)Faith Connors Wrote:  Nope, it's a framework. Not quite IDE. An IDE is the place where you write the code itself, the framework is more like the set of default libraries and resources that the program can use out of the box.

.NET = Framework
Metasploit = Framework

Visual Studio = IDE
Eclipse = IDE

Really now. This can honestly be debated. Some people claim that C# is a IDE, while others claim its a actual Framework. How ever, I am 50/50, not sure which is actually true.
(Aug 18, 2016 07:33 PM)~ Left HF For Good ~ Wrote:  Really now. This can honestly be debated. Some people claim that C# is a IDE, while others claim its a actual Framework. How ever, I am 50/50, not sure which is actually true.

An IDE is basically a text editor specifically made for writing code, let's put it that way.
humble rubyist in a world of pythonistas
(Aug 18, 2016 07:37 PM)Faith Connors Wrote:  An IDE is basically a text editor specifically made for writing code, let's put it that way.

So, wouldn't java be a IDE for example? I mean I know what they are but, I am just curious. I would call java an IDE.
(Aug 18, 2016 07:43 PM)~ Left HF For Good ~ Wrote:  So, wouldn't java be a IDE for example? I mean I know what they are but, I am just curious. I would call java an IDE.

Java is a programming language lmao. They have a runtime environment which provides a framework for running their applications, though, if that's what you mean.

The IDE primarily used for Java development is Eclipse. However IntelliJ IDEA is gaining popularity because it also supports .NET applications out of the box and has a decompiler.
humble rubyist in a world of pythonistas
(Aug 18, 2016 07:48 PM)Faith Connors Wrote:  Java is a programming language lmao. They have a runtime environment which provides a framework for running their applications, though, if that's what you mean.

The IDE primarily used for Java development is Eclipse. However IntelliJ IDEA is gaining popularity because it also supports .NET applications out of the box and has a decompiler.

Wow, I feel like a complete dumb ass. I am not big in Java, have only spent like 2 days coding in it. Anyways, thanks for clearing it up for me.
Great thread, OP. Nice to find this all in one place.
thanks if really help ..nice


Possibly Related Threads...
Thread / Author Replies Views Last Post
by defnothackingAug 22, 2026 11:19 PM 3 86 Aug 22, 2026 11:19 PM
Last Post: Terry A. Davis
by haumeaquaoarAug 23, 2024 03:48 PM 15 301 Aug 23, 2024 03:48 PM
Last Post: hierNULLphant
by NormieSep 12, 2023 11:48 AM 6 241 Sep 12, 2023 11:48 AM
Last Post: h150