New programming languages

Moderators: None (Apply to moderate this forum)
Number of threads: 113
Number of posts: 331

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
HAVEN'T GOTTEN ANSWERS ELSEWHERE!!! Posted by thomas_d9 on 27 Dec 2004 at 9:54 PM
Hello,

I am inquiring about 2 things:

1) How do you Identify what language a program is written in (I.E. Notepad is written in (C++, Assembly, or ...)). I would like to know how to tell what any given program or applicaton is written with.

2) What or where would you recommend I start to learn programming? I learned TRS-80 Basic in middle school. I then went on to learn Basic for the Commodore VIC-20. I was taught very little assembly and some Visual Basic 6.

I would like to learn about the lowest level of programming possible. I understand it to be the most difficult, but also the most powerful (by powerful I mean it will undermine an operating system, where Visual Basic runs on top of the operating system).

I believe I have a pretty good idea already about this, but would like to get the opinions of some experienced programmers regarding their beliefs and experiences.

As a Network Administrator I believe the best defense is knowing how people infiltrate systems. That means being a good Hacker/Cracker. Likewise being good at stopping viruses or knowing when one is or is not a virus is knowing how and what language they are written in.

I intend to decompile some programs labeled viruses, because there is controversy surrounding one that the publisher insists is not a virus even though the anti-virus claims it is.

The biggest reason for the concern is if the anti-virus labels a given program a virus, then you must trust the person giving it to you or risk being violated. The recommendation that I place this program in my exclusions list so that the anti-virus ignores it is ridiculous to me. I would never consider that.

Any help would be greatly appreciated.

Thank you,

Tom Daniels

Report
Some answers...hopefully Posted by 684867 on 30 Dec 2004 at 4:56 PM
This message was edited by 684867 at 2004-12-30 17:0:47

1)Best Source of education is the book. Get a book. It's how I learn new languages. Once you've got one or two languages down you can teach yourself.

2)Viruses can be written in almost any language. Slammer was developed using (of all things) SQL and a good knowledge of machine language. Knowing how they work and how to prevent them is a more abstract issue than the language. One must look first at the mechanics of the computer and then at the concept of the replicating automaton.

3) Assembly is actually not that hard. But it is best only for isolated needs. C++ is recommended for any real projects. Within the C++ code you can embed assembly routines.

****************************************
Excellence Breeds! Go Hard or Go Home.

Let Penguins rule the earth.
Break some windows today.



Report
Real enlightment... I hope Posted by Alexandrescu on 26 Apr 2005 at 8:38 AM
This message was edited by Alexandrescu at 2005-4-26 9:14:55

About detecting which language was used for developing an application:
----------------------------------------------------------------------
Every single *compiler* must insert a speciffic code, called *startup code*, *at the very begining* of any program's main code segment. That's because the startup code enables the application to use whatever library functions it applies to. Sometimes the startup code is called "unlock code" because it acts like it unlocks those library functions.
Because every single compiler uses it's own libraries, the startup code is uniquelly assigned to any compiler-libraries couple. Therefore the startup code can be used as any compiler's blueprint that will enable you to tell not only which language was used, but which compiler was used.
[ Example: this programm was developed using "BORLAND C++ 2.0 ]

Here comes the tough part: you have to make a two column table containing sutch startup codes and the corresponding compiler.

About what language to learn:
---------------------------------
First you must have a clear ideea about programming paradigms. In order to learn something about that, check the following link:

http://www.google.com/search?q=programming+paradigm&sourceid=opera&num=0&ie=utf-8&oe=utf-8

Then is up to you which language to peek.

HINT: peek a mature, standardized language for every nowadays paradigm.






Report
Re: Real enlightment... I hope Posted by thomas_d9 on 26 Apr 2005 at 3:49 PM
: This message was edited by Alexandrescu at 2005-4-26 9:14:55

: About detecting which language was used for developing an application:
: ----------------------------------------------------------------------
: Every single *compiler* must insert a speciffic code, called *startup code*, *at the very begining* of any program's main code segment. That's because the startup code enables the application to use whatever library functions it applies to. Sometimes the startup code is called "unlock code" because it acts like it unlocks those library functions.
: Because every single compiler uses it's own libraries, the startup code is uniquelly assigned to any compiler-libraries couple. Therefore the startup code can be used as any compiler's blueprint that will enable you to tell not only which language was used, but which compiler was used.
: [ Example: this programm was developed using "BORLAND C++ 2.0 ]
:
: Here comes the tough part: you have to make a two column table containing sutch startup codes and the corresponding compiler.
:
: About what language to learn:
: ---------------------------------
: First you must have a clear ideea about programming paradigms. In order to learn something about that, check the following link:
:
: http://www.google.com/search?q=programming+paradigm&sourceid=opera&num=0&ie=utf-8&oe=utf-8
:
: Then is up to you which language to peek.
:
: HINT: peek a mature, standardized language for every nowadays paradigm.
:
:
:
:
:
:
:
I posted this in here about 20 - 30 different places and ways. I received very informative answers from many people in here and each had a unique way of stating their replies.

I found that many of them gave me valuable insight into what I am looking for. I am sorry to say I did not reply to all of them, even though I thought they were helpful to me.

Your reply was by far the most intellectually challenging response I have received. I felt compelled to respond and say that you have done as I do to many people when I am asked questions, you left me with more questions than when I started.

You also gave me what I hope I give in my answers to others, a place to get these questions answered too. I do not wish to make any of the others who responded feel their answers were not as good, instead I would say that each was invaluable in unique ways.

I did like your style of answer better than most though.

Thank you very much! :)



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.