Group Forums >> Extreme Technology >> Which Programming Language should be used to create your own software?

+2

Which Programming Language should be used to create your own software?

936 Views
37 Replies Flag as inappropriate
Email5_gold_copy_max50

4 posts

back to top

Posted 4 months ago

 

Hello Danard E. Vincente here...  I'm new to programming and was just a little cureous about what programming language


is best to develop your own software: C#,C++,PHP,JAVA,Perl...  And is the LAMP (Linux,Apache,MySql,PHP)  stack required for best results


when developing your own software?  Or is it even relevant, I don't know it's probably only for web development!


And are languages like C++ Extremely difficult to get a complete understanding of it?   And is the a difference between a programming languages funtionality, and a script or sever-side script language like (PHP) ?


~Thank you


Have a great day...

Photo_user_banned_big

109 posts

back to top
+1

Rated: +1 | Posted 4 months ago

 

I programm in French.


But seriousy with Java, Lamp and C/C++ you are good to go, even if you go nowehere.

Dsc00384_max50

301 posts

back to top
Rate

Rate This | Posted 4 months ago

 

If it's your own software, do it in whatever language you are most comfortable with and will best suit the needs of the software.


 

Email5_gold_copy_max50

4 posts

back to top
+2

Rated: +2 | Posted 3 months ago

 

Thank you Chrisdefrenchie & Phreadd...


I appreciate you helping a begginer like me, I practice some of these languages every single day!  I just wonder how anyone can remember all of the different types of languages.    Phreadd so what programming languages do you know we'll and can you perhaps help me in developing my skills?  You as well Chris...


<html>


<head>


<script type="text/javascript">


function  message();


{


alert("~~ThanK YOu");


}


</script>


</head>


<body onload="message();>


</body>


</html>


Copy & Paste to a notepad with the extension : htm  & save as all files to Desktop Then Click on it << cout " (To View my Internal Message.).../n";


A lil' Programming HUMOR for YOU hahahahha...

Dsc00384_max50

301 posts

back to top
+3

Rated: +3 | Posted 3 months ago

 

First of all, I haven't been in the IT field since I left the military in 1987.


The military trained me in COBOL, FORTRAN and Assembly language many many years ago (on mainframes). I've forgotten most of that over the years. Since then I've dabbled in various forms of Basic, C++, Java, Macro Assembler and I have a passing familiarity with HTML. Over the last 20 odd years, I've been more of a hardware guy than a software guy. I doubt I'd be much actual help to you here.


Each language has it's own unique strengths and weaknesses. Some are better at number crunching, others are more simplified and easier to use, and still others are more suitable for "pretty print" or setting up a fancy and impressive display. Shop around and find one that suits the application you wish to develope and that is simple enough that you can use it without having to go back to college for 4 more years, and then go to town.


Scripting languages are a far cry from programming languages. They do have their uses, but they are much more restrictive of what they will allow you to do since they are mostly black box canned routines you access through script commands.


From what I've seen, C++ seems to be an all round good general purpose language for most things. It's not so incredibly complicated that it can't be learned, and is fair at most tasks. Other people may have better, more informed opinions though, so don't just take my word for it.


 I STRONGLY suggest you avoid Macro Assembler like the plague. It is incredibly complex and requires an in depth understanding of the inner workings of a computer that very few people care to acquire, (very nearly down to the level of actual circuits and how they function), as well as the chip set (the actual instruction set is basicly hard wire coded into the processor chip so the computer knows how to act on them) and operating system you are writing it on. It's a very powerful tool and can control the most minute aspects of what your machine does right down to the bit level, but it's a royal pain in the ass to debug and get to work correctly if you make a mistake. You pretty much need to know what you want the machine to do from the machine's perspective. Almost all other languages compile into assembler, and then assemble into machine language (binary code).


To give you a better idea, there was a time back in the day when all operating systems and device drivers were written in Assembler.


I hope this helps.


 


 

Photo_user_banned_big

109 posts

back to top
+1

Rated: +1 | Posted 3 months ago

 

My few years of training trained me in C/C++ language, and Java as well, but I personally didn't feel Java that much, much, C/C++ is really a good language IMO.


C/C++ is really strong language, it can be used rawly on an UNIX-Platform for pipeline, and other, C/C++ alows to create your own socket which is really cool, and with C/C++ you can also "hit" database table, I believe "DB2, FoxPro, Oracle, etc..." would have been the standards.


I also add self-training self-learming, in Interpreted language ike Basic 1.0 for amstrad or LOGO when around 10, nothing spectacular. Objet programmation is the real deal for software, I think.


READY

10 INPUT "THAT IS ABOUT IT"

20 GOTO 10

RUN


print [Take Care, buddy]

Dsc00384_max50

301 posts

back to top
+1

Rated: +1 | Posted 3 months ago

 

There are basicly 3 types of programming languages.



1) Assembler language - Assembler languages have a 1 to 1 correspondence to machine language instructions. Not very user friendly and require a good bit of study. They are very machine specific. The code that runs on one chipset may give slightly to greatly different results when run on another chipset. You are basicly talking directly to the machine in it's own language.


2) Interpreted languages - Basic, and most forms of scripting language. These languages "compile on the fly". They actually convert to machine code at run time. These tend to be limited in scope, but very portable and very user friendly (most of the time). They also tend to be a bit slower since they go through the translation process every time they run.


3) Compiler languages - These languages are compiled once to form an object program (which is then assembled into machine code to form an executable version). Most useful languages fall into this catagory. Very portable and not machine dependant (most of the time).


Photo_user_banned_big

109 posts

back to top
Rate

Rate This | Posted 3 months ago

 

Phreadd says ...



There are basicly 3 types of programming languages.



1) Assembler language - Assembler languages have a 1 to 1 correspondence to machine language instructions. Not very user friendly and require a good bit of study. They are very machine specific. The code that runs on one chipset may give slightly to greatly different results when run on another chipset. You are basicly talking directly to the machine in it's own language.


2) Interpreted languages - Basic, and most forms of scripting language. These languages "compile on the fly". They actually convert to machine code at run time. These tend to be limited in scope, but very portable and very user friendly (most of the time). They also tend to be a bit slower since the go through the translation process every time they run.


3) Compiler languages - These languages are compiled once to form an object program (which is then assembled into machine code to form an executable version). Most useful languages fall into this catagory. Very portable and not machine dependant (most of the time).



Phreadd, you really sound like you are a big time expert in hyper-assembler, you are totally projecting like you could code in binary/HEX directly. It sounds old school, but yet really impressive.

Dsc00384_max50

301 posts

back to top
Rate

Rate This | Posted 3 months ago

 

I'm hardly an expert on the subject, but probably more familar with it than most people today.


I have done a bit of coding in Assembler. (it's one step up from Hex). It is very old school. Hardly anyone does it any more due to the effort involved. One thing you need to remember, I GOT OUT OF the IT industry before many of the people on this site were born and PCs were the industry standard. When Radio Shack first introduced the TRS-80, the ONLY way to write a program for it was in Hex code, until some genius created a basic interpreter for it.


I have dabbled with it, but it's been a long time. I really don't write code any more.


One nice thing about assembler, if you DO have an understanding of it, you can write small subroutines in it for specific purposes and incorporate them into C++ (and probably several other languages) code when you can't get the C++ to do precisely what you want.


Wether or not it's worth the effort is pretty much up to the individual doing the coding.


 

Photo_user_banned_big

109 posts

back to top
Rate

Rate This | Posted 3 months ago

 

When I attempted Engineer school, I think I got a teacher just like you, the man was specilized in processor instruction and when we are still trying to hustle to get thru PC or X86 architecture. I think we tempted to forgot SPARC processor or other RISC can be in used today. We will be foolish to think windows and X86 could be use for hi-end special features such as "who really know" TS/SCI *****. 


Assembler can take care of adressing and machine code, and fully take advanage of a RISC architecture, yet, I believe to be a lot faster than CISC at equal clock frequency.

Dsc00384_max50

301 posts

back to top
Rate

Rate This | Posted 3 months ago

 

Chrisdafrenchie says ...



Assembler can take care of adressing and machine code, and fully take advanage of a RISC architecture, yet, I believe to be a lot faster than CISC at equal clock frequency.



When properly written, Assembler code is the fastest code out there, and the ONLY way to take FULL advantage of all a chips features. For most applications today, I don't think it's really necessary to have that kind of functionality though, unless you're writing code to remotely control a deep space probe or land the space shuttle or something.


Unless you're actually writing an OS or a device driver, it's probably best to leave it alone.


 

Photo_user_banned_big

109 posts

back to top
Rate

Rate This | Posted 3 months ago

 

Phreadd says ...



Chrisdafrenchie says ...



Assembler can take care of adressing and machine code, and fully take advanage of a RISC architecture, yet, I believe to be a lot faster than CISC at equal clock frequency.



When properly written, Assembler code is the fastest code out there, and the ONLY way to take FULL advantage of all a chips features. For most applications today, I don't think it's really necessary to have that kind of functionality though, unless you're writing code to remotely control a deep space probe or land the space shuttle or something.


Unless you're actually writing an OS or a device driver, it's probably best to leave it alone.


 



You are absolutely right concerning assembler, but it is always good for some people to know this at a basic level at least to know how to deal with Unix/Solaris and Sparc machine but yet, that's not a matter for simple Asociate degree or Bachelor.

Dsc00384_max50

301 posts

back to top
Rate

Rate This | Posted 3 months ago

 

Assembler still has it's uses, but I wouldn't go near it unless an employer was going to shell out some seriously big bucks for it.


Quite frankly it's a good way to get a migraine.

Picture_007_max50

7 posts

back to top
Rate

Rate This | Posted 3 months ago

 

I would use Visual Basisc and have C++ handle the libraries, C# is for looks. Use in combination with LAMP

Email5_gold_copy_max50

4 posts

back to top
Rate

Rate This | Posted 3 months ago

 

        Thank you all FOR Adding to this LOVELY conversation!   Preadd...  Yes I do understand that script languages are not to powerful, but I personally think that as a beginner in programming languages like Javascript are great places to begin learning "High-Level" programming languages like C#/C++, and JAVA...


    I noticed that their are many similarities between C++ and Javascript in terms of some of the syntax:   for example the ALL so famous (IF...esle...esle Statement :


     >>THe syntax in Javascript:


   <html>                                                                                                                                                                                                                                                     


<body>


<script type="text/javascript">


var d = newDate();


var time = d.getHours();


if  (time<=12)  ||  (time>=1)


{


document.write(<b>"Good evenning Chrisdafrenchie & Preadds..."</b>);


}


else if   (time<12) 


{


document.write(<b>"It is Still the morning"</b>");


}


else


{


document.write(<b>"I have know Ideal what the time on your browser is???</b>");


}


</script>


</head>


</html>


>>>FOR C++ syntax:


#include <iostream>


using namespace std;


int main() {


     if (x == 1) {
 


        cout << "x is 1";
 


}  


else if (x == 2) {
 


           cout << "x is 2";
 


}


else {
 


cout << "value of x unknown";
 


}


//They're some similarities in terms of the syntax, interesting....


In terms of Assembler, interpreter and complier languages I've diffiniately heard of them...  Java for example is special, because it has both interpreter an complier capabilities, using the software virtual machine I think it's called. 


So these "languages", translate our 'languages' into machine code which I'm told it the only thing a CPU/x86 can recognize and execute...I've heard a complier like the notepad++  etc... are the best options so people have a more difficult time of stilling your source sode!   Which is a problem on the WEB!   


So  I know a lil C++, (I'm just beginning to learn it) and I'm wondering if C++ is very difficult to understand, and do you see it as the best language to learn in order to develop software (i.e games or API's) that is FAST & POrtable  or backward compadible with almost all platforms (e.gOperating Systems)


#include <iostream>


using namespace std;


int main();


{


   << cout  "Thank YOU!\n";


}


 

Photo_user_banned_big

109 posts

back to top
Rate

Rate This | Posted 3 months ago

 

<?php

echo " u'R Welcome!";

?>



<!-- that's an excellent conversation so far-->

Email5_gold_copy_max50

4 posts

back to top
Rate

Rate This | Posted 3 months ago

 

//Numeric ARRays, and the do...while & if..elseif...else Statements

//I'm not really sure if these statements are allowed to be together

//This below code produces:  "Danard E. Vincente thinks Phreadd and Chrisdafrenchie are wonderful intelligent people, you to hassan."

<?php

$i = 0  // intialization

    

$friends[0] = "Chrisdafrenchie";

$friends[1] = "Phreadd";

$author[2] = "Danard E. Vincente";


do

  {

  $i++;   // Incremented, the value of '$i' will increase once everytime loaded

  echo " $author[2] . " thinks " . $friends[1] . " and " . $friends[0] " .

are . " wonderful intelligent people, you to hassan.";

}

 /*This above code produces:  "Danard E. Vincente thinks Phreadd and Chrisdafrenchie are


wonderful intelligent people, you to hassan."  If $i is <= to 5*/

while ($i<=5);

                // the above executes only if $i is < 5 else:

  if  ($i>5)  && ($i<=10) || (time===12)

    {

     echo "You know i started writing this on a notepad, over three hours ago ^_^";

}

  elseif  ($i>10) &&  ($i<=15)  || (time>12)

    {

    echo "Good after--noooooon! Everyone";

}

else

    {

    echo "You missed out on me phrasing you for how intelligent you all are ^_^";

    echo "I'm only doing this to practice...practice..practice.  So I hope I'm not

    to annoying with my codes.";

        echo "Heck! why not show what special codes you know. So we can all learn more...";

}

/*this code would probably be shorter if i new more about functions();, but i'm

learning about them right now...so say tune!*/

?>


 P.S. Let me know if you see any mistakes $friends[0], and $friends[1]... I just thought this

would be nice to do!


// Some C++ for YOUR pleasure,


#include <iostream>

using namespace std;


int main() {

    int a = "Thank you!";

    int b = "Thank you!";

    int c = "Thank you Very Much!";

    int result;


    a = a + b - c   // Output: Thank you! Thank you very much!

    int result = c * a    // output: Thank you Very much!Thank you!Thank you!

    return 0;

}


 // Final Output: "Thank you Very much!Thank you!Thank you!"

 

Blood_last_vamp_cover_art_2_max50

115 posts

back to top
Rate

Rate This | Posted 3 months ago

 

If you're looking to write your own game, I've heard a combination of a few work best, like for example- C++ and C#, and to use assembler or some such when needing that *super* fast animation point.  otherwise, if you're just looking for a basic simple fun game creation for online use, I would use flash- that's all the rage with online games.  


"And in the naked light I saw
Ten thousand people, maybe more.
People talking without speaking,
People hearing without listening,
People writing songs that voices never share
And no one dared
Disturb the sound of silence."- Sound of Silence, Simon & Garfunkle

"Feed your Head"- White Rabbit, Jefferson Airplane

Anotherride_max50

7 posts

back to top
+1

Rated: +1 | Posted 3 months ago

 

 Wowzers! Looks like I "missed" a good portion of a great conversation here! All have excellent inputs on the languages that are good to use. My understanding (from my ugrad days and military experience) is that JAVA is also an "interpretive" 4th generation language that is "compliled" on the fly rather than being compiled to begin with. (I could be wrong about that. If so, please do not hesitate to correct me.) "C" is probably traditionally the most powerful and most complicated language to understand. Just getting your brain around "Pointers" and "MALLOC" is enough to give anyone a pain in the neck (that will work its way down from there rather quickly ... HA)! C++ and J++ are excellent improvements over C and JAVA, mostly because they are OOP (Object Oriented Programming) languages. I understand that Google's renowned search engine uses a combination of C, C++ and Java to get where it goes.


As most have suggested, it all depends on what you want the software to do for you. That is something you'd have to figure out during your "software development cycle" while you're attempting to come up with the whole stack of goodies.


For a while, I was a big fan of the "Myst" games. I was looking at everything that Cyan was doing and mostly interested in HOW they were doing it. One thing I found interesting was that a friend of mine pointed out that the two brothers used a simple text program to actually write the original software for the game. I was never really clear about how the rest of program (images, etc.) worked into the program. I found it very interesting that the code was written on a simple word processor and then compiled.


No expert here. 

Dsc00384_max50

301 posts

back to top
Rate

Rate This | Posted 3 months ago

 

SkyKing5 says ...



For a while, I was a big fan of the "Myst" games. I was looking at everything that Cyan was doing and mostly interested in HOW they were doing it. One thing I found interesting was that a friend of mine pointed out that the two brothers used a simple text program to actually write the original software for the game. I was never really clear about how the rest of program (images, etc.) worked into the program. I found it very interesting that the code was written on a simple word processor and then compiled.



Source code is just plain text and can be written on any basic text handler (that doesn't include imbedded formatting stuff). The trick is, you just need to change the extension on the file name from .txt to whatever extension the language uses for it's source before you feed it to the compiler.

Anotherride_max50

7 posts

back to top
Rate

Rate This | Posted 3 months ago

 

 Thanks, Phreadd! I can't begin to tell you how much I've forgotten over the years! HA! Thanks for the reminder. (It all comes back in a flood of memories of confused days and nights spent trying to plod through convoluted code, all the while hoping that my ignorance would never be discovered by "the powers that be" ... the professors!)

Dsc00384_max50

301 posts

back to top
Rate

Rate This | Posted 3 months ago

 

DanardVincente says ...



So these "languages", translate our 'languages' into machine code which I'm told it the only thing a CPU/x86 can recognize and execute...I've heard a complier like the notepad++  etc... are the best options so people have a more difficult time of stilling your source sode!   Which is a problem on the WEB!   


 



Anyone who REALLY wants your source code can reverse engineer it from machine language. Granted it is more difficult, but anyone that's that into hacking is probably well versed in machine and/or assembler language to start with.


I wouldn't use that as a criteria for selecting your language. As I stated before, choose which language(s) you are most comfortable with and will best suit the needs of the software you are writing.


 

Me_max50

3 posts

back to top
Rate

Rate This | Posted 3 months ago

 

programming is lot to me.... LOL - keeping my nose not to bleed on those stuff that seems unfamiliar to me ;)

Dsc00384_max50

301 posts

back to top
+1

Rated: +1 | Posted 3 months ago

 

primie says ...



programming is lot to me.... LOL - keeping my nose not to bleed on those stuff that seems unfamiliar to me ;)



Primie, don't let ANY subject matter intimidate you. Anything is learnable if you have the desire to do so. Just eat the elephant one bite at a time or you'll choke on it. Just take it a little bit at a time and it will come eventually. Noone walks a mile in one big step, but  with small steps that eventually add up.


 

Me1_max50

92 posts

back to top
+1

Rated: +1 | Posted 3 months ago

 

HO, I also missed good part of this ineterested debate. I will try to catch up with several posts because now I read them all, I only remembered the last ones


SkyKing5: J++ is far from being and improvement for JAVA. J++ is a Java wannabe prorgamming language created by Microsoft to attract Java developer and is was included in Microsoft Visual Studio. Not anymore, no one was using it and no one saw a really need for it.


I agree with Phreadd: you should choose the language you feel more confertable with and it will best solve your problem (do not attempt to create a simple website to pull records from a MySQL with C++, or PHP to write GUI applications (with GTK) Althouh is possible, it will make your task more daunting)


However I highle disagree with the statement that scripting languages are not too powerful. This is not true. They were created for a purpose, and for that they are very good. PHP is a POWERFUL language. No wonder is so popular. Client side code, Javascript has been also standard for years and is also very powerfull. Both have OO capabilities.


I think the stress you should be put in the PROGRAMMER instead of the programming languages he uses. All programming languages has served their purposes and have appealed to more than one prorgammer. I myself try to learn as many as I can, without getting confused. I have learn how to use different programming languages depending on the task I'm doing. Once you learn one, it's very easy to add your previous skills to a new prorgamming language. The key is the programmer, his problem solving skills. At the very end, most programming languages allow you to implement loops, hash tables, dictionaries, databas connections, etc...you just need to find out how you do the same things you already know in the language you are learning.


My prefferences:


Web development: PHP,MySQL, CSS, javascript, XML etc


Software: Visual Basic (very easy to learn and get things done fast), Java, C++, C#


/* hehe */



class HelloWorldApp {
public static void main(String[] args) {
System.out.println("I love JAVA too!!! :)");
}
}

Me1_max50

92 posts

back to top
Rate

Rate This | Posted 3 months ago

 

DanardVincente says ...


// Some C++ for YOUR pleasure,

#include <iostream>

using namespace std;



int main() {

    int a = "Thank you!";

    int b = "Thank you!";

    int c = "Thank you Very Much!";

    int result;



    a = a + b - c   // Output: Thank you! Thank you very much!

    int result = c * a    // output: Thank you Very much!Thank you!Thank you!

    return 0;

}



 // Final Output: "Thank you Very much!Thank you!Thank you!"


 


HEHEHE..it's funny, but unfortunatelly, this will not run. "Thank you" is a string and you are assigning it to an integer variable. 


add this


#include<string>


then declare teh variables as string type instead


string a = "Thank you";  // and so on :)


Also remember that to output to the console you need to use cout<< a;    //You will get it soon, jut add passion to it  :)


 


109614600_l_max50

1 post

back to top
Rate

Rate This | Posted 2 months ago

 

Little late on this one, lol.


 My personal favorite is Java.


I had my programming start in 8th grade with BASIC, then moved to Visual Basic, then a little C, then finally Java and in-depth C/C++ in college. Along the way I picked up on Javascript, HTML, XML, PHP, SQL, and Oracle's form script thing.


Java by far was the easiest when it came to visuals and functionality. C++ is immensly more powerful than Java, but making a UI is well beyond me. I've asked around and heard horror stories of 1000+ lines to make a simple window. I'm sure there's some code kit out there that simplifies it.


I also recommend taking your time learning them. Don't try to learn several at a time or you'll end up like a lot of my colleages and mixing syntaxes without realizing it.

Photo_user_blank_big

1 post

back to top
Rate

Rate This | Posted 2 months ago

 

Dim languages As String() = {"VB", "C#", "Java", "C", "C++", "PHP", "JavaScript", "HTML", "SQL", "Python", "Perl"} 'One more and you're inviting memory leaks (in your head)


If languages.Length > 5 Then


     Console.WriteLine("OMG!!! Too Many Languages!")


Else


     Console.WriteLine("Sigh! finally I can start coding...")


End If


Console.WriteLine("Thank you for learning VB.NET")



Photo_user_blank_big

12 posts

back to top
+2

Rated: +2 | Posted about 1 month ago

 

I have been cutting code one way or the other since 1968. Unlike most of the contributors I have cut many, many lines of assembler code, FORTRAN(multiple versions), C, C++, Pascal, as well as mutiple scripting languages. In these 40 years I have heard many people claim to have the ultimate computer language. I have found that there is no one language that is an ultimate solution for all things. The language that is best suited to solve a software project depends on the problem. Are you doing a GUI? Is software reusability  a big requirement. Is the hardware that the software is required to run on limited in its resources such as memory or speed? Does the OS that will provide the software platform for the project to run on have limitations or particular requirements? Once you have the projects requirements you can better answer the question what language are you going to use to implement your software design. I work primarily in real time embedded systems these days and more and more software tools like UML are being used to design software. With UML if you do your design right very little coding is done by the software engineer. Tools like UML generate the code from the design. I would say to you learn how to write clear understandable code regardless of what language you use. The most profound thing I ever read about software engineering was by the inventor of PASCAL when he gave his acceptance speech for wining the Turing award. He said , "Any  software that can not be easily understood by human beings is worthless regardless of whether or not it accomplishes its designed purpose". If you write poorly documented code chances are sooner or later you will not understand how to use it or how to alter it to upgrade it. As far as assembler being to difficult to learn or use I would say again it depends on what you are doing. Now days assembler is only used where memory space and/or execution speed require its use. Modern operating systems today are wiitten in compiled languages except where the desgner needs to do something that the compiled language can't do effectively. So where do you start you say? C, C++, and Visual Basic will do many things well and Java has its purposes. I would say in today's world that C++ and Visual Basic are good tools to learn that will give you the flexibilty to accomplish most of what you will want to do as a hobbyist. I threw in Visual Basic because it is so easy to use to design a GUI  given that you don't already have a tool to do that specific task and it is relatively easy for most people to learn fairly quickly.

2008-08-12-171956-28_max50

11 posts

back to top
Rate

Rate This | Posted about 1 month ago

 

Dude,


Use what ya like, It's like when you're at a strip club (sorry ladies) there are many options but you pick tha one or three ya like...


 


And Phreadd....I was alive when tha TRS-80 was around...thrash 80 I believe it was called... I do however realize I am older than most here as well...


P.S. to stay on subject I'd go w/ C++ .....


good luck...

Next Page >