Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 21

Thread: Programming languge

  1. #11
    Thanks very much guys especially biosx. I have one more question. I heard that the linux operating system was made frome C. Is this true?. I already know a few languges like Liberty Basic, and a little bit of Python. I want to agian thanks for the help and good luck to you all in your future programs.

  2. #12
    Junior Member
    Join Date
    Jan 2006
    Posts
    5
    Originally posted here by KGComputerFreak
    Thanks very much guys especially biosx. I have one more question. I heard that the linux operating system was made frome C. Is this true?. I already know a few languges like Liberty Basic, and a little bit of Python. I want to agian thanks for the help and good luck to you all in your future programs.
    You are very welcome.

    What you heard is true. The Linux kernel is programmed in C and assembly. However, you have to remember that the Linux kernel is only the core of the OS. The kernel is surrounded by various pieces of software that are written in various languages. Most GNU software from the Free Software Foundation is written in C. However there are various other parts that are written in C++; one of most recognizable is the KDE window manager which uses C++ and the Qt library.

    Since almost every piece of software that deals with Linux is open source, you can download the program code and see what it is programmed in yourself!

    Again, good luck and stick with it!!

  3. #13
    Junior Member
    Join Date
    Oct 2005
    Posts
    5
    What about learning perl?

  4. #14
    Junior Member
    Join Date
    Jan 2006
    Posts
    5
    I agree with Jurdian,

    You can start with C++ programming in this site:

    www.cplusplus.com

    I advice you to learn Perl,Python and Delphi also
    n0m3rcy(); BEG me or DIE
    contact: irc://irc.milw0rm.com #milw0rm

  5. #15
    Senior Member
    Join Date
    Jan 2004
    Posts
    228
    I started with Java. Helped me learn how to actually seperate my files. When I later went on to C++, creating header files; implimentation files and test files were easy. Each programming language can be powerful, as long as you know how to use it.

    Here's some advice.

    When making your header and implimentation files, throw in a lot of tracing statements and constantly compile throughout your writing process. This will limit errors and help you have a better understanding of how exactly your program works. Sometimes knowing when the copy constructor is used; the difference between passing by reference and passing by the actual object; and how the programming language deals with memory will be extremely huge. I'm no expert, but security has a lot to do with knowing exactly what a program does. I don't mean just knowing the outcome, but knowing how it came to that outcome. Exploits are found in between a going to b.

  6. #16
    Ninja Code Monkey
    Join Date
    Nov 2001
    Location
    Washington State
    Posts
    1,027
    perl and python, maybe....depending on what you want to do. Screw Delphi.
    "When I get a little money I buy books; and if any is left I buy food and clothes." - Erasmus
    "There is no programming language, no matter how structured, that will prevent programmers from writing bad programs." - L. Flon
    "Mischief my ass, you are an unethical moron." - chsh
    Blog of X

  7. #17
    Junior Member
    Join Date
    Nov 2005
    Posts
    22
    I found this topic very interesting as I'm going through the same process right now, trying to choose a language to learn.

    Not to put a damper on the people advocating C/C++, but I found a very interesting read:

    "C++?? A Critique of C++ ( 3rd Edition )"

    The author puts up some very interesting and valid points on why NOT to learn C++. Its a very interesting read and informative but it also assumes understanding of C++. I knew enough to get by. Regardless I'm still going to try to achieve a somewhat proficient understanding of C/C++ because of the fact that it's widely known and used.

    And that sounds like a very good book Jetherson. I'll do a search around and hopefully find something just as helpful. IMO kid books like that help build a pretty solid foundation to learn everything else. Maybe it might be a good idea to learn logic before doing any programming language?

    On another note as I havent even done anything even remotely as looking at exploit code, but is it should be possible to create a given exploit using any programming language?

    So much to learn and so little time.

  8. #18
    Depends on the exploit and vulnerability, and depends on the language. Not all languages have the low level hooks to get to places where some vulnerabilities live. Most current OSs don't allow direct access to the hardware (i.e.; HD reads and writes). So, most of the current generation of high-level languages have it built into the libraries to make requests through the OS for services.

    Some languages are more appropriate for certain types of applications or tasks. If I were putting together in-house tools for managing IDS and system logs, I'd probably go to Perl for the flexibility. VB and C# just make string and array handling difficult and ponderous. Perl makes it simple and flexible, and it is platform independent.

    Of course, I'm just learning Perl, so I don't know the full capability of the language. So far, I'm impressed.

  9. #19
    The Iceman Cometh
    Join Date
    Aug 2001
    Posts
    1,209
    I think it all depends on what type of programs you want to write. Python, Perl, etc. are more scripting languages than anything else. C/C++, Java, etc. are more robust languages that can be used to build cross-platform applications for a variety of purposes.

    Personally, I think that C is a great language to start with because it teaches you the "top-down" approach to programming and is a less forgiving language (syntax-wise) than some more modern languages. Many modern-day compilers (especially certain Java compilers) will allow you to make any syntax errors and still build fine without any errors (something which is not very useful when first learning how to program).

    C++ or Java are great if you want to start with Object Oriented programming (I'd recommend Java because it forces you to use OO, instead of C++ which will allow you to program both imperatively and object orientedly). There are a few drawbacks, however. First of all, you will not only have to learn the logic and syntax of whatever language you choose, but also learn the more difficult concepts of OO. Additionally, Java doesn't allow the use pointers, which means that you will you have quite a bit of trouble understanding linked lists, hash tables, etc. Although pointers can be very dangerous in programming, by learning them you will gain a much deeper understanding on how many data structures are created, allowing you to make better use of them in your own programs.

    I'd also recommend grabbing a book on an assembly language (either ASM or MIPS) so you can learn how things are programmed at the machine level. (ASM seems to be more popular among many people on sites such as this, though MIPS is used a great deal in both academia and the industry).

    Ultimately, it all boils down to what you plan to do. I know you mentioned a couple projects already. Did you want to develop those for Windows? *nix? Depending which environment you plan to use, different languages may be better suited to the task. Additionally, each environment has their own developmen tools. If you want to go straight into a .NET language, Microsoft has a number of free "Express Editions" of their popular .NET languages which are part of Visual Studio .NET. There are other free compilers as well (Bloodshed's a good one for C++ if you want an IDE or gcc if you don't; NetBeans is a good one for Java if you want an IDE, or you can use Sun's command-line tools to do it yourself).

    Personally, I started with C++, and then learned C and Pascal before moving on to Java, SmallTalk and a few logic and functional languages. Professionally, I program Windows apps in C++ and Java. I also do embedded programming using C (primarily because the RTOS I'm using is programmed in embedded C, though I've started designing my own RTOS using embedded C++ recently to overcome some of the limitations I've discovered in C). I also use ASM for the interaction between the hardware and software.

    If you want recommendations on books, shoot me a message and I can recommend some good ones, not only for learning a specific language, but also for deciding which type of language to use (depending upon your project), as well as basic to advanced software engineering concepts.

    A.J.

  10. #20
    Ugh, yet another person who believes that python and perl are only scripting languages. I've made several custom programs that would be difficult if not impossible in other languages. One would be a custom inetd firewall, very effective! Another is quick system administration, like searching for files, creating new directories, etc. (I made an entire shell around this ability), i've made a map creation application, meant for a now stalled game. I know both Java and C++ and i can tell you python is good.

    Python is a good language for learning how to program, as it doesn't use weird symbols, or weird things like header files etc. Its simple, and straightforward. It does not require you to know OOP like Java does, but you can do OOp if you wish(OOP = object oriented programming). Best of all: READABLE. This is key for longterm projects. Perl is for throwawy scripts, C++ for heavy duty math, and processing, and python for everything else. Notice I didn't include Java!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •