Author Topic: Classic question  (Read 3090 times)

0 Members and 1 Guest are viewing this topic.

Offline Phage

  • VIP
  • Overlord
  • *
  • Posts: 1280
  • Cookies: 120
    • View Profile
Classic question
« on: August 07, 2012, 01:17:39 am »
Hmm i know that you guys have heard this question so many times before, but i have no idea on which programming language i should choose. My goal is to create a simple text editor like Notepad and then develop and improve it.


I do not have any particular experience in programming except for web development but i wouldn't say it count. I have looked at c++/python/Java and i am able to understand the most basic code, but i will not say that i can program any useful programs in the languages. I have looked a little at python, but i wanted a little more (don't get me wrong) useful language. I will be taking classes in Java in my school next summer, so should i just start on Java now? I have thought about c# but will it be a wrong choice? I do know about the different languages like what kind of programming language it is and what it is mostly used for. The programming language i will choose would i go in depth with for the next year or so. So i would have about a year experience in it before i start with the Java classes.


I have thought about this for a while now and i really hope you guys can help me out here. Should i just start at Java now, or should i choose another language, and take the Java classes at the same time? The programming language i will choose to this project will be my main language for the next couple of years. I really hope you will be able to help and guide me in the right direction.


Regards
Phage
« Last Edit: August 07, 2012, 01:24:00 am by Phage »
"Ruby devs do, in fact, get all the girls. No girl wants a python, but EVERY girl wants rubies" - connection

"It always takes longer than you expect, even when you take into account Hofstadter’s Law."

Offline lucid

  • #Underground
  • Titan
  • **
  • Posts: 2683
  • Cookies: 243
  • psychonaut
    • View Profile
Re: Classic question
« Reply #1 on: August 07, 2012, 01:50:12 am »
Hmm, I will start by saying that you might want to learn to use the search function. Now that that's out of the way perhaps it might help to know what you want to do.

In very basic terms I'd say that Java would be good if you want to code mobile apps and such. Go with C# if you want to look into coding games n things. If for web hacking it's definitely good to learn PHP and SQL as well as C. If for coding malware then go with C and perhaps asm. Scripting languages are especially good for automating tasks on your box, although they have other uses as well.

Keep in mind this is a pretty basic definition. Good luck.
« Last Edit: August 07, 2012, 01:50:46 am by lucid »
"Hacking is at least as much about ideas as about computers and technology. We use our skills to open doors that should never have been shut. We open these doors not only for our own benefit but for the benefit of others, too." - Brian the Hacker

Quote
15:04  @Phage : I'm bored of Python

Offline Phage

  • VIP
  • Overlord
  • *
  • Posts: 1280
  • Cookies: 120
    • View Profile
Re: Classic question
« Reply #2 on: August 07, 2012, 02:23:21 am »
Hmm, I will start by saying that you might want to learn to use the search function. Now that that's out of the way perhaps it might help to know what you want to do.

In very basic terms I'd say that Java would be good if you want to code mobile apps and such. Go with C# if you want to look into coding games n things. If for web hacking it's definitely good to learn PHP and SQL as well as C. If for coding malware then go with C and perhaps asm. Scripting languages are especially good for automating tasks on your box, although they have other uses as well.

Keep in mind this is a pretty basic definition. Good luck.


I have searched a lot and wasn't able to draw a conclusion on which language i should choose therefor i posted this thread. I actually thought i have maked it clear what i wanted to do, i will create a simple text editor like notepad, and eventually when i have enough experience turn into something similar to notepad++.


But thanks for your answer.
« Last Edit: August 07, 2012, 02:24:13 am by Phage »
"Ruby devs do, in fact, get all the girls. No girl wants a python, but EVERY girl wants rubies" - connection

"It always takes longer than you expect, even when you take into account Hofstadter’s Law."

Offline techb

  • Soy Sauce Feeler
  • Global Moderator
  • King
  • *
  • Posts: 2350
  • Cookies: 345
  • Aliens do in fact wear hats.
    • View Profile
    • github
Re: Classic question
« Reply #3 on: August 07, 2012, 03:09:53 am »
Go with Java. It will severely help with your classes and is explicitly OOP. Since your first project is a notepad, Java is really good for GUIs because it is mostly a application language instead of, back end systems for examples. You can port between web apps, mobile dev, and local dev.

The good thing about Java also, is it is heavily based on C++. Syntax and all anyway.

As for Python. Don't just brush it under the rug. It is and can be an extremely powerful language, more so than Java IMHO from the versatility and readability alone. When I was in highschool first learning code and Python, I spoke with the IT guy there and he insisted Python is a toy language, how wrong he was. Google, and even NASA depends on it. Great for back end dev and front end dev too. Not only local apps, but web apps too. From hackers utilizing urllib to ctypes it can broaden any tool box.

I would also like to add, don't worry about hacking via code yet. You really should learn how to code before exploiting anything. Really try and get a handle on the basics and theory and how things should be done. If you do learn Java before you start classes, don't think you know it all. You will probably know the beginning of the stuff, but pay attention because teachers can and will explain and teach things tutorials online simple can't teach.

With all that said, learn Java then go from there.
>>>import this
-----------------------------

Offline Daemon

  • VIP
  • Baron
  • *
  • Posts: 845
  • Cookies: 153
  • A wise man fears a gentle mans anger
    • View Profile
Re: Classic question
« Reply #4 on: August 07, 2012, 06:59:33 am »
Sorry techb, I have to disagree. I would say to start with c++ rather than java, especially if your end goal is to create a text editor. It was the first language I learned, and I still love the fact that I learned c++ first as it is an EXTREMELY powerful language imo. Also, i feel like c++ syntax, as in the words used, tie in much better with other languages compared to java. I find it easy to read vb, c, c++, python, and html/css (though i did technically learn html way before c++) and the only one i actually KNOW is c++  . Whereas i find Java and PHP a little more confusing.

Also I read an article somewhere about how there was a college that taught all computer science majors a language ( i want to say it was java, though i might have the wrong language) for their first programming language. and all the electrical engineers were learning c++ first, over the course of several years those EE majors ended up becoming better programmers than the CS majors, so the school had to change its policy and have the CS majors also learn c++ first.

As for python, idk how you can get much more useful lol. You can develop full on 3d games in python as long as you have a graphics library, it's one of the most powerful and useful languages out there. However, it's still better to learn c++ (or java) first.
« Last Edit: August 07, 2012, 07:03:59 am by Daemon »
This lifestyle is strictly DIY or GTFO - lucid

Because sexploits are for h0edays - noncetonic


Xires burns the souls of HF skids as a power supply

Offline p_2001

  • Royal Highness
  • ****
  • Posts: 684
  • Cookies: -64
    • View Profile
Re: Classic question
« Reply #5 on: August 07, 2012, 08:32:28 am »
Here, we study  c and c++ before we study java but java is better to make text editors because of better string handling functions and library. In java you need not worry about pointers and memory leaks. not to mention the swing library.
Add to the fact that the byte code will run on all OS.

To get a hang of oop java is better. C and c++ should be next. Next learn assembly if you can..

"Always have a plan"

Offline Phage

  • VIP
  • Overlord
  • *
  • Posts: 1280
  • Cookies: 120
    • View Profile
Re: Classic question
« Reply #6 on: August 07, 2012, 10:42:33 am »
I do think you guys get me wrong, i wasn't meaning that  python isn't useful, it's just that i want to have a (larger) more used language in app development. Though i know how powerful python is (i have been learning python for about two weeks before).
For techb I haven't even thought about hacking via code i has never been my intension. The only security thing i work with is website security.


I might think that i will go with Java and then later advance to c++. The Java classes is only for one year and i know that the teacher doesn't know a lot about it (he told me by himself). He follows a premade tutorial that he found on the web. Thank you guys for your answer, they were very helpful, +1.
« Last Edit: August 07, 2012, 10:45:50 am by Phage »
"Ruby devs do, in fact, get all the girls. No girl wants a python, but EVERY girl wants rubies" - connection

"It always takes longer than you expect, even when you take into account Hofstadter’s Law."

Offline Kulverstukas

  • Administrator
  • Zeus
  • *
  • Posts: 6627
  • Cookies: 542
  • Fascist dictator
    • View Profile
    • My blog
Re: Classic question
« Reply #7 on: August 07, 2012, 11:02:29 am »
I didn't read what other people suggested, because it is a lot to read, but from my point of view, I would learn basics of programming, in any desired language, as the fundamentals do not change from language to language. For that you could do it in Pascal - it's old and not very much usable, but it gives a really good and easy understanding of how programs work.
When you will have the idea how programs flow, proceed to learning Java, because it is always awesome to have an advantage over others in class :D

Offline Phage

  • VIP
  • Overlord
  • *
  • Posts: 1280
  • Cookies: 120
    • View Profile
Re: Classic question
« Reply #8 on: August 07, 2012, 12:05:04 pm »
I didn't read what other people suggested, because it is a lot to read, but from my point of view, I would learn basics of programming, in any desired language, as the fundamentals do not change from language to language. For that you could do it in Pascal - it's old and not very much usable, but it gives a really good and easy understanding of how programs work.
When you will have the idea how programs flow, proceed to learning Java, because it is always awesome to have an advantage over others in class :D

I have actually already done that, that's why i would start with a "bigger" language now. Yeah i love the feeling of knowing more then my classmates, and i am also the comuter guy in my class, and i have to live to their expectations ;)
"Ruby devs do, in fact, get all the girls. No girl wants a python, but EVERY girl wants rubies" - connection

"It always takes longer than you expect, even when you take into account Hofstadter’s Law."

Offline Deque

  • P.I.N.N.
  • Global Moderator
  • Overlord
  • *
  • Posts: 1203
  • Cookies: 518
  • Programmer, Malware Analyst
    • View Profile
Re: Classic question
« Reply #9 on: August 07, 2012, 12:29:32 pm »
I second techb's post. In addition to that: In my experience, learning two languages at the same time can be very confusing (unless you are already very familiar with one of them).

Stundents in first and second semester at my university learn C and Java at the same time. Most of them are beginners in programming and almost all of them confuse the statements (like writing printf in Java or trying to use String in C) and have to put a lot of energy into sorting the stuff out in their head.

So if you are going to learn Java nevertheless, it might be better not to start something else at the same time. Rather get familiar with one language first, so the matter is securely fixed in your head and it won't hinder you anymore once you learn another language.
« Last Edit: August 07, 2012, 12:50:36 pm by Deque »

Offline ande

  • Owner
  • Titan
  • *
  • Posts: 2664
  • Cookies: 256
    • View Profile
Re: Classic question
« Reply #10 on: August 07, 2012, 08:26:54 pm »
I would go with Java if you think C++ is too much (which it most of the time is for a first-timer).
if($statement) { unless(!$statement) { // Very sure } }
https://evilzone.org/?hack=true

Offline Phage

  • VIP
  • Overlord
  • *
  • Posts: 1280
  • Cookies: 120
    • View Profile
Re: Classic question
« Reply #11 on: August 07, 2012, 10:02:06 pm »
Thank you all for your replies i have already started on Java. I have found a lot of e-books but i doesn't find any of them usefull. Do you guys have any recommendations? I have already looked in the ebooks section.
"Ruby devs do, in fact, get all the girls. No girl wants a python, but EVERY girl wants rubies" - connection

"It always takes longer than you expect, even when you take into account Hofstadter’s Law."

Offline Kulverstukas

  • Administrator
  • Zeus
  • *
  • Posts: 6627
  • Cookies: 542
  • Fascist dictator
    • View Profile
    • My blog
Re: Classic question
« Reply #12 on: August 07, 2012, 10:28:33 pm »
Think of a project and do it. Best way to learn a language.

Offline Phage

  • VIP
  • Overlord
  • *
  • Posts: 1280
  • Cookies: 120
    • View Profile
Re: Classic question
« Reply #13 on: August 07, 2012, 10:46:52 pm »
Think of a project and do it. Best way to learn a language.

I have already a project on my mind, but it will probertly take some time to learn enough to create it (a notepad).
"Ruby devs do, in fact, get all the girls. No girl wants a python, but EVERY girl wants rubies" - connection

"It always takes longer than you expect, even when you take into account Hofstadter’s Law."

Offline bubzuru

  • Knight
  • **
  • Posts: 395
  • Cookies: 21
  • everything is contained in the data
    • View Profile
    • New School Tools
Re: Classic question
« Reply #14 on: August 17, 2012, 12:40:41 pm »
iv not read any posts yet because i need to go but have you looked a scintilla ?
i think evilzone uses a php version for its sorce code higlighter , but its more than just a highlighter , im using it in my script to exe program (in C#) its coded in c++ but there are wrapers for allmost every language

 Scintilla is a free source code editing component. It comes with complete source code and a license that permits use in any free project or commercial product.

As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colours and multiple fonts.

Development of Scintilla started as an effort to improve the text editor in PythonWin. After being frustrated by problems in the Richedit control used by PythonWin, it looked like the best way forward was to write a new edit control. The biggest problem with Richedit and other similar controls is that they treat styling changes as important persistent changes to the document so they are saved into the undo stack and set the document's dirty flag. For source code, styling should not be persisted as it can be mechanically recreated.

Scintilla and SciTE are currently available for Intel Win32 and Linux compatible operating systems with GTK+. They have been run on Windows XP, Windows 7, and on Ubuntu 10.10 with GTK+ 2.20. Here is a screenshot of SciTE.




The source code can be downloaded via CVS at the Source Forge Scintilla project page.
« Last Edit: August 17, 2012, 12:43:44 pm by bubzuru »
Damm it feels good to be gangsta
http://bubzuru.comule.com