Register a free account to unlock additional features at BleepingComputer.com
Welcome to BleepingComputer, a free community where people like yourself come together to discuss and learn how to use their computers. Using the site is easy and fun. As a guest, you can browse and view the various discussions in the forums, but can not create a new topic or reply to an existing one unless you are logged in. Other benefits of registering an account are subscribing to topics and forums, creating a blog, and having no ads shown anywhere on the site.


Click here to Register a free account now! or read our Welcome Guide to learn how to use this site.

Generic User Avatar

What programming Language should I start with?


  • Please log in to reply
88 replies to this topic

#76 Dave_C

Dave_C

  •  Avatar image
  • Members
  • 11 posts
  • OFFLINE
  •  
  • Local time:12:36 AM

Posted 18 January 2006 - 11:30 PM

I have a computer science degree and have worked in the IT field for about 18 years now.
The first thing to realize is that computer technology, both in software & hardware, is a rapidly changing thing and that will continue for some time. Based on that, you should always keep in mind that your tools (languages, programming utilities, software design tools) will be changing over your lifetime. I'm an ol' timer and started out learning BASIC, COBOL, & FORTRAN. Once you've mastered a "solid" programming language, it becomes easier to learn others. Many prinicples of languages carry forth from one language to another. Beside the 3 languages I mentioned, I've additionally learned about 8 more. I lose track. I started my paid career using COBOL & DB2, and worked some with Natural & Adabase. DB2 & Adabase are database systems. A few years ago I decided to learn some Visual Basic and took 2 courses. I think that was a good move, as it gave me a start in learning event driven programming and began to peek at object oriented programming/design (VB is not a true object oriented language). I've recently learned Java. I'd have to recommend Java to you, as it seems like a very well designed computer language and it is strictly an object oriented language. Languages of the past (like COBOL, BASIC, FORTRAN) are procedural languages. We still have many procedural languages around today (I still use COBOL in my current job); SQL is a procedural language used to access & manipulate relational databases. I started a course in C (not C++) years ago, but dropped it. I had too much going on at the time. But, I was impressed with C.

So, for today's world I'd shoot for C++, Java, HTML, XML. Also, if you're looking to jump on the bandwagon and get decent money, learn all you can about web services (SOAP, WSDL, and there's one more component technology I can't recall off the top of my head).

If you're going to be doing a lot of web development, learn one of the development environment/tools like IBM WebSphere. That's not a language, but a tool to develop, test, debug, and deploy (and even more) applications.

Some other posters here have mentioned some tools or considerations that they haven't clearly labeled. They're trying to say "software engineering". This is whole thing: coming up with requirements, analysis, design of a solution, development of a solution, testing that solution, deploying the solution, and then supporting the solution (applications) after deployment. This things all fall into the lifecycle of a project or application and experience doing this takes years.

Design can be done by amateurs. Someone referred to that in another post. This is where you decide how you're going to structure your application. In my professional, computer programming/systems analysis is an art. It takes time to develop skill in these areas, so be patient. Programming design means you think out how your program will work, how it's structured before you actually start coding. Today, Object Oriented design is what you want to learn. Learn all you can about it, and you'll certainly find yourself extremely valuable in the workplace as there is still a great shortage of those highly skilled in that area. Learning Java or C++ will help you learn the object oriented design principles that are so important to embed in your thinking.

Best of luck. Have fun. There's always lots to learn. In my job, I learn something new every single day.

The only downside for me (I work in the U.S.) in the IT field is that it is getting flooded with so many from third world countries that it is getting very difficult to keep a job as American companies are seeking cheap labor elsewhere.

BC AdBot (Login to Remove)

 


#77 Osiris

Osiris

  •  Avatar image
  • Members
  • 140 posts
  • OFFLINE
  •  
  • Local time:02:36 AM

Posted 26 January 2006 - 04:03 PM

Object Oriented design What comes from this ?
I can only learn what i want to learn.

#78 Osiris

Osiris

  •  Avatar image
  • Members
  • 140 posts
  • OFFLINE
  •  
  • Local time:02:36 AM

Posted 26 January 2006 - 04:26 PM

Ok here is an example i dont understand groovicus and sry it took me so long to reply i had exams in school.

ok the example is

#include <string>
#include <iostream>

int main ()
{
string str = "ALL dressed up with nowhere to go.";
string sub1 = "somewhere";
string sub2 = "nowhere";
unsigned int pos = str.find(sub1, 0);
cout << "str: " <<str<< endl;
if(pos !=string::npos)
cout << sub1 << " found at:"<<pos<< endl;
else cout <<sub1<< "found at:"<<pos<< endl;
pos = str.find(sub2, 0);
if(pos != string::npos)
cout <<sub2<< "found at:" <<pos<< endl;
else cout <<"substring not found" << endl;
return 0;
}



I realy dont see how this works what an example you can use so i could understand it more.
I can only learn what i want to learn.

#79 vinith_04

vinith_04

  •  Avatar image
  • Members
  • 31 posts
  • OFFLINE
  •  
  • Location:Mangalore
  • Local time:01:06 PM

Posted 28 January 2006 - 05:13 AM

Hi there
I think the best to start with is C.Once you know it You can easily learn C++ and Java.Beleive me I did the same thing.

#80 Osiris

Osiris

  •  Avatar image
  • Members
  • 140 posts
  • OFFLINE
  •  
  • Local time:02:36 AM

Posted 28 January 2006 - 02:28 PM

you started with C++ and then tried C then learned C++ then java


Edit:

Never mind i got a book of C off my friend he doesnt use and there isnt much point in me learning it its basicly me reading the C++ book all over again accept with diffrent coding and less variables im going to stick with C++ i think learning C will just make it worse.

Edited by Osiris, 28 January 2006 - 09:18 PM.

I can only learn what i want to learn.

#81 martinsbarfield

martinsbarfield

  •  Avatar image
  • Members
  • 4 posts
  • OFFLINE
  •  
  • Local time:03:36 AM

Posted 17 July 2006 - 09:14 PM

Hello All,

I too am trying to learn how to program. I am taking classes at a local community college as a starting point. My biggest problem is trying to work from the command line in both, Windows XP and Mac OS X. I only have a fair grasp of GUI and almost none of the command line environment. I am taking a Java class and a HTML class; both assume some proficiency with the command line without really providing any command line instruction. Until I can get past this hurdle all of my efforts to learn how to program are stalled. Anyone have any suggestion?

Martin

#82 groovicus

groovicus

  •  Avatar image
  • Security Colleague
  • 9,963 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Centerville, SD
  • Local time:01:36 AM

Posted 18 July 2006 - 08:19 AM

The way to get past those hurdles is to start actually using the command line. Windows has a bunch of built in tools; I would suspect the same of a Mac:
http://www.microsoft.com/resources/documen...s.mspx?mfr=true
http://www.kernelthread.com/mac/osx/tools.html

Compiling and running Java from the command line isn't at all hard:

To compile a single Java file:
javac FileName.java
To compile all your Java files at once:
javac *.java

When javac successfully compiles a .java file, it produces a corresponding .class file.


To run the main() method in a particular class:
java NameOfClass
To supply command line arguments:
java NameOfClass Arg1 Arg2 ...

Note that you do not include the file extension .class.

If your program freezes while running you can usually hit Control+C to stop it.


It should go without saying that one eneds to exercise caution when using some of these tools as thay can be made to cause irreperable harm to your system (just like any other tool).

Are you using an IDE to develop your code?

#83 SaadatShah

SaadatShah

  •  Avatar image
  • Members
  • 3 posts
  • OFFLINE
  •  
  • Local time:12:36 PM

Posted 03 August 2006 - 06:09 AM

As you say you are a blind expert :thumbsup: of HTML so my suggestion is to go for Web Application Development using .NET Framework and target ASP.NET 2.0 with C#

HAPPY PROGRAMMING!

#84 treycarroll

treycarroll

  •  Avatar image
  • Members
  • 20 posts
  • OFFLINE
  •  
  • Local time:02:36 AM

Posted 04 August 2006 - 03:03 PM

If you are going to study computer science, Java is frequently the language that you will learn on. It is really a great language to learn in order to get a handle on OOP (object oriented programming) - which is part of many other languages (C++, C#, Smalltalk, PHP 5, VB.NET etc.) I would argue that it would serve you well as an excellent foundation for programming in general.

Java is really quite a useful language - the bytecode that the compiler produces will run on any platform (so you can run it on a Mac, a unix machine or a windows computer). You can create applications that work at the command line - on Windows go to run dialog and type cmd to see the window) It can also create applications with a graphical user interface (GUI) - but these are a bit more complex and take a little while to master. Java is also used to create applets which are programs that run in your web browser (once you install the plugin). These are very powerful and are a great way to make an ordinary web-page do some amazing things. That's a brief run-down, but Java is in many, many more areas these days from web-severs to cell phones.

Be forewarned though, the learning curve can be pretty steep. You'll need to take care to get some really good books and to make some friends if you want to pursue it in-depth. I would recommend that you find the Java User's Group (JUG) in your area and see if they have a beginner level SIG (special interest group). Even if you can't fully understand the presenters that they bring in to the JUG meetings, I would recommend that you hang around and keep your ears open.

I would recommend three different types of books that correspond to 3 different learning stages.
1) A jump-right-in-there-and-make-some-programs-and-see-how-things-work book - these are everywhere. Try a Sam's 24hours book or a "teach yourself" or a dummies book. Since you are only learning the basics at first you can pick them up really cheap if you pick up one that is not for the latest JDK- none of the basics will have changed and you'll be just fine with them. You can also go to the Sun website and follow the tutorials for your "First cup of Java" to get a hello world script running at the command line. This is a good first stage to start at and stay on for a little while, writing some code and getting a feel for the language.

2) A comprehensive language reference for the current JDK. This is more of an intermediate level, when you're really settling in to learn the language's syntax and even some of the libraries. I would recommend Ivor Horton's Beginning Java 2 SDK 5. It will raise a bunch of questions and only gives sporadic code snippets but it is very straight forward. To fill in the gaps, you'll want to be challenging yourself at this stage to start using the things that you're learning. I would use the web to start finding pieces of other people's code on tutorial sites to put together into your own programs. Don't just grab - study the code. I would also recommend Dick Baldwin's Java Tutorials at this stage. (Search on "Dick Baldwin Java" on Goggle)

3) A more in-depth college or high school A&P text book. These are more expensive- You'll never find one in the 75% off bin and even at the used books store they tend to go for at least $25 or $30, but spend the money! I have seen people stick with the category one and two books exclusively and never figure out why they can't get a handle on the language. You must have a well-rounded understanding of what you're doing or You'll never be anything but a frustrated hack. Take the plunge and dig deep. If programming is your thing I think that You'll quickly find that you thrive on deepening your understanding. I would recommend: Programming and Problem Solving with Java (Dale, Weems, Headington) and Object-Oriented Data Structures Using Java (Dale, Weems, Joyce) as excellent resources. I have also heard good things about Java Software Solutions for AP Computer Science (Lewis, Lofts, Cocking)

Once you get to level three You'll probably find that you really need to be involved in a learning community of some sort. Whether that is a community-learning course, a college course, or a Java user's Group doesn't really matter. You'll need someone to bounce ideas off of, if not a fresh pair of eyes to see what's wrong with your code.

A word to the wise: get a good IDE (Integrated development Environment- the program that you write and compile and run your code in). You don't want to become overly dependent on it so DO take the time to actually learn the methods for yourself, but it can really make your life easier. I like JCreator by Xinox - you can pick up the academic license for around $35. Some of the free IDE's are really more appropriate for seasoned professional (Netbeans, Eclipse, etc.) than for a learner and they can add so much complexity that they become an obstacle to your understanding. I would avoid them - at least at first, anyway.

Once you reach a level of comfort with the language, get a partner and pick a project. Actually having to make software DO something significant is probably the best learning experience possible. Try to solve somebody's problem for them - hey, you might even get paid for it! Working with real users and another programmer will give you a crash course in programming in the real world. There are some things that you will come up against that will make you crazy, but your little project will make you so much wiser for the next project. You'll definitely think long and hard before you say things like "it will be ready by x time"; and it will definitely affect how much pre-planning you put into your class-structures before you start coding.

Hope that this "track" proves helpful for someone. Have fun!

Edited by treycarroll, 04 August 2006 - 04:31 PM.


#85 ussr1943

ussr1943

  •  Avatar image
  • Members
  • 490 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:USA
  • Local time:03:36 AM

Posted 17 August 2006 - 09:25 PM

not much mention of java wich makes me want to cry :thumbsup:
i do suggest html as a start, its some thing,not really programming at all but it introduces you to a different state of mind. i then have proceded to java now, so far i got 2 books from library and found one called
"Java2 A beginner's Guide" and its great book, i am only on page 68 outta 565 and its great stuff, i find java a little challenging just becuase it requires some actuall attention to what your doing unlike html, i have learned alot and started off by copying some examples, then rewriting some examples to s different specification, like in the book you create a table from 1-100 gallons and have it convert all to liters, well i modifyed it to be inches to meters and i did it so that it prints out up to 12 feet of conversions and after each 12 lines (12 inches) it prints a blank so its easyier to see. so far i am loving java i have learned alot, even before i actually started to code (thanks to grovicus) i highly recamend it, it's not as complicated(well it looks like to me) as C++ but gives you a basic idea of how the computer reads or "thinks" and some basic syntax and so on. well thats my 2 cents,
but it certainly depends on what you want to do.
anyways this is getting extreamly long so i'll stop where i'm at.



a recap
1.HTML a recamend first
2.Java rocks
3.if your real serious then do C++ but i recemend a more simple lang. to start with



ppls gunna get mad but this actually works, its a lil program i created.

/*
  Demonstrates the if statement
   
  cuz i love loops.
   
   Written by ussr1943

*/

  class IfStat {
	 public static void main(String args[]) {
	   int java, c; //declares Java & C(++) 
	

	java = 10; 
	c = 1;

	if(c  <  java) System.out.println("Java Rocks My Socks!");

	
	if(java == c) System.out.println("you won't be able to see this becuase i love java more than c++");


  }
}

good luck, and have fun with whatever you choose, it doesn't always gotta be so serious and (somtimes frustrating)
make simple programs that you are interested in (me i use alot of conversions for chemistry, and will be using alot of
equasions this year for physics,surprising chemestry and physics is just really alot of math, but i like that kinda stuff.)

Edited by ussr1943, 17 August 2006 - 09:53 PM.

"Ideas are far more powerful than guns."
"The only truly secure system is one that is powered off, cast in a block of concrete and sealed in a lead-lined room with armed guards -- and even then I have my doubts." --Eugene H. Spafford
"One man's terrorist is another's freedom fighter"

#86 KIDRoach

KIDRoach

  •  Avatar image
  • Members
  • 102 posts
  • OFFLINE
  •  
  • Location:West Lafayette, IN
  • Local time:03:36 PM

Posted 30 January 2007 - 11:04 AM

erm... the topic also crossed my mind, but after reading, oh well, how do you even start to learn on html ?

ps : i'm majoring in civil engineering, and just learing about computers for fun, so, please don't mind me if i don't even understand html =P
If Quizzes were Quizzicles, what are Tests ?

#87 groovicus

groovicus

  •  Avatar image
  • Security Colleague
  • 9,963 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Centerville, SD
  • Local time:01:36 AM

Posted 30 January 2007 - 05:29 PM

Learning HTML is simply a matter of doing it. Since you are a civil engineer, I'll use small words (just a joke folks!)

Really though, HTML by itself is pretty simple. It starts getting complex when one wants to add Cascading Style Sheets (CSS), or JavaScript, etc.

The basic structure of an HTML page is this:
<html>
	<head>
   		<title></title>
	</head>

	<body>
	</body>
</html>

So, to start off very simply, you can paste that code into notepad, and save it to your desktop with an .html extension. When you double click on iot, it will open a blank white page with nothing on it. Not very exciting, but you have to start somewhere.

So then you can make a small modification and put some text between the title tags, like this:
<title>This is my title</title>
Save the entire page again, and then double click on it. You will still get a blank page, but the title on the tab should say "This is my title". Ok, still not very exciting, but it's still HTML.

So now, make another small modification. If you noticed in the template, there is a <body> tag. And right after that is a closing </body> tag. That's where the guts of your web page go. So let's put something in there to jazz the page up a bit. Type the following in between the <body> tags:
<H1>Groovicus Rawks!</H1>
Save your page again, and then double click on it. It should say in fairly large words, the text that you put between the <H1> tags. (You can put whatever text you want in there; I just hate the typical "hello world" garbage that all lessons seem to start with.)

A couple of other things to help you out, those bits of text enclosed in the right and left carets ( <> ) are called tags. The <H1> tag is for Headers, and there are actually 6 of them, H1-H6. Try changing the number after the 'H' and see how it effects the text. (remember that you need to save the page after every change. Ctrl-s is a handy shortcut to save files).

Another thing to notice is that there are closing tags, and they have a forward slash- </H1>. For all intents and purposes, all opening tags must have a matching closing tag. (That's not totally true, but for now just pretend that this is true). What it is telling your browser is that it has come to the end of a section of code. This also brings up the concept of nested tags, and this is a bit hard to understand at first, but let me take a stab at it.

Simply put, tags must be closed in the reverse order of which they were opened. So using 3 tags, hopefully I can demonstrate this:
<a>
	<b>
		 <c>
		 </c>
	</b>
</a>

The <a> tag is opened, then the <b> tag, and then the <c> tag. Then they are closed in the reverse order. If you look at the first chunk of code I put up there, it does the same thing, just in a bit different order. If you cross tags, your pages will not display properly. It usually isn't a problem with simple tags, but when one looks at tables and forms, crossing tags will cause you grief. Example:
<a>
	 <b>
		  <c>
	 </b>
		  </c>
</a>

There are not that many tags, so it is pretty easy to look up what each of them do. Doing a search for 'html tutorials' will land you a bunch of choices. One bit of friendly advice, stay away from the w3 pages. Although they define the standards for html, they are too technical for beginning with html.

So one last point before I run off to the hardware store. Tags have attributes. Attributes are extra bits of html that give you a little bit of flexibility. Change the line:
<H1>Groovicus Rawks!</H1>
to
<H1 ALIGN=CENTER>Groovicus Rawks!</H1>
Save it and open it in your browser.

That's beginner's html in a nutshell.

#88 KIDRoach

KIDRoach

  •  Avatar image
  • Members
  • 102 posts
  • OFFLINE
  •  
  • Location:West Lafayette, IN
  • Local time:03:36 PM

Posted 30 January 2007 - 08:45 PM

thanks

will try what you said :thumbsup:
If Quizzes were Quizzicles, what are Tests ?

#89 Keithuk

Keithuk

  •  Avatar image
  • Members
  • 961 posts
  • OFFLINE
  •  
  • Gender:Male
  • Local time:08:36 AM

Posted 31 January 2007 - 11:31 AM

In 1982 I start with Basic with my first computer BBC Model B 32K (Acorn) with BBC Basic. When I bought an IBM compatible in 1993 I used Qbasic for few years. I needed a Windows programming language. I searched about and talked to people and they recommended VC++, which I bought for £90. It was a difficult language to come to terms with, having been used to Basic for 13 years. So I managed to get a pirate copy of VB4. Because our computers at work were Windows 3.1 I started with VB4 16bit. It was an easy language to follow because it follows Basic very closely.

3 years ago I download Visual Studio 6.0 from a site that isn't available anymore. I installed VC++ 6.0 to see if it had improved. No it hadn't, it was still difficult to follow. I bought books and CD's to help me out but they weren't much help. Perhaps I'm spoiled by the simplicity if VB, you can't teach an old dog new tricks.

3 years ago I bought TGF (The Games Factory) of eBay but this wouldn't open the newer files. So I downloaded TGF from the Clickteam. I downloaded MMF (MultiMedia Fusion) of a friends web site. I've had a quick try with both of them but I couldn't really get in to them, I've been spoiled using a simple language like VB. I've been using Visual Basic for 13 years now.

In 1999 in enrolled on a City & Guilds Programming in Visual Basic course (7261) at the college where I work. It was a course over two years and 3 levels, 7261/205, 7261/225 and 7261/245. I qualified in each level.

whats a very easy language that is very effective? Maybe VB? or C? post here.

The easiest is VB :thumbsup: but its not supported by M$ anymore because they are pushing VB.Net.

Keith

Windows ME (spare computer)
Windows XP 2002 Professional SP3 (desktop computer)
Windows 7 Professional SP1 32bit (laptop computer) it works great but its packed up
Now its Inspiron 17 3793 Windows 10 64bit crap, its the worst laptop design ever made





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users