Computing.Net > Forums > Programming > Which tool/language should i use?

Computing.Net: Over 1,000,000 posts about all things technology related! Over 90% answered within 24 hours! Click here to sign up now, it's free!

Which tool/language should i use?

Reply to Message Icon

Original Message
Name: bigjeff80
Date: November 17, 2005 at 06:57:57 Pacific
Subject: Which tool/language should i use?
OS: sdf
CPU/Ram: sdf
Comment:

Hi

I am an ex-programmer wishing to get back into programming. In the long term I hope to learn a popular programming tool/language off by heart but for the short term I just need create a very simple website/webpage. The problem being- I have no idea how to go about it!

As I stated I used to be a computer programmer many moons back so I am not a complete beginner but I have not done any programming for a very long time so I am out of touch with which programming tools/languages are being used nowadays! I have absolutely no experience in creating websites/webpages so any programming tool/language i will be using will have to be learnt from scratch.

- I suppose my first question would be- will I be able to learn one tool/language for both general programming and web development? Or will I have to learn 2 separate tools/languages?

When I used to be a programmer the language I used was called MUMPS (or M technology) but this just dealt with data handling and did not allow you to design a nice front end or user interface. The most recent programming experience I have had was about 5 years back when I attended beginner’s courses for both Visual Basic 6 (I think it was 6) and Delphi 5 but these courses were very basic and only really dealt with creating forms, adding buttons, etc.

The way I understand it (please correct me if I’m wrong) is MUMPS is a programming language where as Delphi and Visual Basic are programming tools that front end a programming language? (I think Delphi uses the Pascal language and Visual Basic uses Basic if I remember correctly)

Questions:

- Is my above understanding of programming tools/languages correct? And if it is- which programming tool/language would it be best for me to learn based on all factors (ie. how good/popular the tool/language is, how long it would take to learn, etc.)

- Will I have to learn another tool/language for web development? If yes- which one?

Thanks in advance

Jeff



Report Offensive Message For Removal


Response Number 1
Name: Mechanix2Go
Date: November 17, 2005 at 07:40:59 Pacific
Reply: (edit)

Hi Jeff,

For simple web pages I use Mozilla.


If at first you don't succeed, you're about average.

M2


Report Offensive Follow Up For Removal

Response Number 2
Name: Sci-Guy
Date: November 17, 2005 at 11:27:42 Pacific
Reply: (edit)

For quick & dirty web pages, Frontpage.
For something a little more professional, Dreamweaver.
Or if you prefer to code by hand, go to HTMLGoodies for comprehensive tutorials.

Please let us know if you found someone's advice to be helpful.


Report Offensive Follow Up For Removal

Response Number 3
Name: Sci-Guy
Date: November 17, 2005 at 11:29:22 Pacific
Reply: (edit)

By the way, HTML is the language you need, along with a little CSS.

Please let us know if you found someone's advice to be helpful.


Report Offensive Follow Up For Removal

Response Number 4
Name: cervanj
Date: November 17, 2005 at 13:14:28 Pacific
Reply: (edit)

Once you feel comfortable with HTML then you can dive into JavaScript and VBScript to make your pages more dynamic. By the way, these two languages embed with HTML.


Report Offensive Follow Up For Removal

Response Number 5
Name: SN
Date: November 17, 2005 at 20:23:18 Pacific
Reply: (edit)

I've been meaning to get a little overview out there on web technologies...This is probably as good of a place to put it as any. Hoping I can just link to this thread when people are just getting into web development and want to get a feel for all the different technologies that are out there. When you're just starting, you hear all these acronyms and never know which technologies you need and which you don't. Hopefully this will clear any of that up.

Display (front end) technologies
HTML: HTML is the bare bones of what it takes to show a web page. It consists of a number of "tags" that tell a web browser how to render a portion of the page (ie this part should be in bold, that part should be in a 4x8 table, etc.) HTML will allow you to create forms with radio buttons, checkboxes, etc., but doesn't have any way to do anything with the values the user puts into them. You can't do anything interactive with HTML alone (ie no guestbooks, chat rooms, forms, etc.) You need to use some of the other technologies.

CSS: HTML was originally intended to be pretty plain...As time went on, things were added to it to allow images, fonts, background colors etc. But eventually people started realizing that having all that display logic mixed in with your content made things very difficult to maintain. This is where CSS comes in. CSS allows you to define rules on how various HTML elements should be displayed, while letting you keep it separate from all of your HTML. For example, this site probably uses CSS to make the posts yellow. They may have a rule that essentially says 'every part of the page whose HTML tag specifies that it is a post should have a 50 pixel margin and a yellow background.' They define it once, then all they have to do is specify which parts of each page are considered 'posts.' Then if they want to change the color, all they have to do is change the rule. Make sense?

Javascript: Once we had the basics of displaying things in web pages down, people wanted to get fancy. They wanted to start allowing things like drag and drop, moving and flashing images, pictures that change when your cursor moves over them, error messages that pop up when you miss a required field in a form, etc. That's where javascript comes in. It is a very limited language that has access to the HTML elements on its page, and can do things to them like change their positions, colors, an image's source, etc. It can even show error messages and prompt users for information. Sometimes javascript even writes cookies to the user's hard drive, but other than that nothing a javascript can do lasts any longer than the page is displayed.

Client side programs
Javascript is OK, but it's very limited in terms of what it can do because of security. It can't run a program on your hard drive, it can't talk to a server, etc. So we started allowing more sophisticated things in web pages, but since they are high risk, browsers ask for the user's permission before letting them run.
Java applets: Java (which is absolutely no relation to javascript...Don't use the terms interchangeably) has one major advantage on other languages...The same executable file runs on any platform with the java virtual machine installed. So things like Yahoo chat and games allow users on Macs, linux, and windows PCs to run the same piece of software and gain a very high level of interactivity.
ActiveX controls: The MS answer to Java applets, ActiveX controls perform essentially the same function except without the portability of Java.
Flash: Popular for animation and interactive stuff, Flash doesn't have the power or require the free access to the user's machine that activeX controls or Java applets do, so you can get some nice looking animations without all the security warnings.

State management
By its nature, the internet is 'stateless', meaning that what you did before has no impact on where you are now. Without state management, we would never be able to 'login' to a site, because it would forget us as soon as we logged in. These two technologies allow people to keep track of their users and know who is who.
Cookies: Cookies are files on a user's hard drive that store information about the user. Usually this is things like usernames, passwords, preferences (like the My Computing.net settings), etc. The cookies are sent to the web server on each request so the web server can figure out where you've been and whatever other information the site chooses to store in your cookies. Cookies are written and read either by a server side script or by javascript (which is a client side script.)

Session: The session is a special cookie that only maintains a unique session ID. Instead of storing information in a cookie, the web server stores a unique identifier for the browser, then stores the information in its own memory. Session cookies only last as long as the browser is open, and eventually the server will erase them from memory. This is a more secure, but more temporary, method of storing information about your users.

Web server
A web server runs on a computer and 'listens' for requests for web pages, pictures, files, etc. IIS comes with Windows (Server OS or XP Pro), and Apache is free. It handles all the communication between the browser and the web server.
Databases
Obviously databases have many applications outside of web development, but they're so critical to web development that I have to mention them here. Databases are similar to excel spreadsheets...They have several tables, each with rows and columns. Today's web developers store everything from content to statistics to pictures in databases because of how handy and easy it is to store and retrieve data.

Server side technologies
Server side technology is the glue that brings everything together. Basically they are programs written in a variety of languages that take as their inputs data the browser sends (including HTML form data and cookie data), and whose output is HTML, Javascript, and CSS. In between input and output, a typical server side program will read in data about which user is requesting the page (cookie data), what they asked for (ie search parameters), what information they entered into the browser (ie search term). Next it will save user entered data into a database, or search a database for information the user requested. Finally it formats that data into HTML, javascript, and CSS and sends it out, via the web server, to the browser. It can also read in information from files, talk to other servers, etc.

You can write server side scripts in just about any language, but these are the most common:

Perl: An oldie but a goodie. Perl wasn't intended for server side programs, but when there wasn't much else to choose from it was very popular. It's super fast, very concise and easy to learn, and has loads of modules out there for people to use. Unfortunately, it's difficult to maintain very large websites with perl because it doesn't scale to the tens of thousands of lines of code very well.
PHP: By far the most popular server side scripting language today, PHP was made for this stuff. It has a lot of syntax in common with Perl, and inherited some of its weaknesses. But its speed, smooth learning curve, rich functionality with lots of modules, and tight integration with the free database mysql has made it hugely popular with small to medium-sized websites.

ASP: Microsoft's answer to PHP, ASP is a disaster. It's hard to think of anything good to say about it. Why it is as popular as it is I simply don't understand.

ASP.NET: Thankfully different from classic ASP, ASP.NET is the best thing to hit web development since Perl. It scales EXTREMELY well to large, enterprise websites since it fully supports object oriented and event based architecture, as well as completely separates display logic from display logic (ie no HTML mixed in with your code like there is with these other languages.) It still has its flaws and isn't the right technology for small projects, but it's a big step in the right direction.

JSP: Kind of a mix between ASP.NET and PHP, JSP is java based, which means it is object oriented and scales extremely well. But the HTML is still mixed in with the java code, so there's that intermingling of UI and business logic. Also, anything written in Java is a memory pig, so JSP has some serious performance issues.

WYSIWYG editors:
HTML and CSS are not difficult to learn. A few hours with a good book or an online tutorial and you'll understand just about everything you need to know to create sites. Unfortunately, some people would rather have a program write the HTML for you, and do their pages in an 'ms word' kind of interface. WYSIWYG (prounounced 'wiz-ee-wig') editors allow users to do that.
FrontPage - Microsoft's 'quick and dirty' web designer. Famous for mangling HTML and CSS into completely unrecognizeable code for no good reason. Easy to learn, impossible to debug once a page is messed up. I don't personally know any professional designers that use FrontPage.

DreamWeaver - Macromedia's answer to frontpage. Much less code mangling, a few professional developers use dreamweaver.

I think this covers it. I don't know why I suddently go the urge to write all this down but I found it a little therapeutic for some reason.

Good luck,
-SN



Report Offensive Follow Up For Removal


Response Number 6
Name: Chi Happens
Date: November 18, 2005 at 13:04:40 Pacific
Reply: (edit)

Java allows you to create Applications as well as JSP (web scripts). I suggest you look into Java.

All the tools are free and there is a huge community to help.

Chi

They mostly come at night...mostly.


Report Offensive Follow Up For Removal

Response Number 7
Name: pr3d
Date: November 18, 2005 at 20:02:25 Pacific
Reply: (edit)

Learn Java for sure, even HTML and JAVA script with CSS.

/usr/rp$D/


Report Offensive Follow Up For Removal






Post Locked

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.


Go to Programming Forum Home








Do you have your own blog?

Yes
No
I did before
I will soon


View Results

Poll Finishes In 4 Days.
Discuss in The Lounge
Poll History




Data Recovery Software