JREF Homepage Swift Blog Events Calendar $1 Million Paranormal Challenge The Amaz!ng Meeting Useful Links Support Us
James Randi Educational Foundation JREF Forum
Forum Index Register Members List Events Mark Forums Read Help

Go Back   JREF Forum » General Topics » Computers and the Internet
Click Here To Donate

Notices


Welcome to the JREF Forum, where we discuss skepticism, critical thinking, the paranormal and science in a friendly but lively way. You are currently viewing the forum as a guest, which means you are missing out on discussing matters that are of interest to you. Please consider registering so you can gain full use of the forum features and interact with other Members. Registration is simple, fast and free! Click here to register today.

Tags programming , computer program

Reply
Old 15th November 2007, 06:55 AM   #1
Dustin Kesselberg
Usus magister est optimus
 
Dustin Kesselberg's Avatar
 
Join Date: Nov 2004
Location: Al Jumahiriyah al Arabiyah al Libiyah ash Shabiyah al Ishtirakiyah al Uzma
Posts: 4,673
I need help creating a computer program

I am totally new to creating computer programs and I wanted to know where I could start to learn about them. I want to create a Windows program that can work with an online website. How would I go about creating such a program? Remember, I am totally new to creating programs and have no idea where to start. What programs are good for this? What computer languages are best to use for such things?

Also please post other threads from this forum that explain similar things to this. I would search but I think that I would get better results this way.

Thanks.
__________________

Dustin Kesselberg is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 08:26 AM   #2
Nancarrow
Chelonian Overlord
 
Nancarrow's Avatar
 
Join Date: Dec 2005
Location: London, UK
Posts: 468
If you want to create a program that both runs under Windows, and uses Windows-style elements (windows, dialog boxes, buttons, menus and so on), then I imagine the best bet would be MS's VisualBasic, or whatever their latest version of it is called.

ETA1: looks like the latest version is 'VB.NET' except that they're going to ditch the .NET in future releases and get back to just 'Visual Basic x.y' (I think they're up to 8.0 or something now)

ETA2: VB is a language with lots of types, objects, classes, inheritance, blah blah. If you're totally new to programming and don't know what those mean (and I barely know what some of them mean), the upshot is you may have to write a lot of opaque introductory ******** in your code before getting down to the bits that actually do things. So it would be a good idea to practice first on a really simple dialect of basic. I use Yabasic. Don't think you can make pretty dialog boxes with it. But you CAN make programs to analyse years worth of stock price data for several hundred stocks, in barely a screenful of code. Says I from personal experience.
__________________
A mosquito was heard to complain
That a chemist had poisoned his brain
The cause of his sorrow
Was paradichloro
Diphenyltrichloroethane.

Last edited by Nancarrow; 15th November 2007 at 08:38 AM.
Nancarrow is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 08:38 AM   #3
Dustin Kesselberg
Usus magister est optimus
 
Dustin Kesselberg's Avatar
 
Join Date: Nov 2004
Location: Al Jumahiriyah al Arabiyah al Libiyah ash Shabiyah al Ishtirakiyah al Uzma
Posts: 4,673
Visual Basic? I've heard that before. Is there a good freeware alternative to VB? Do you need to know a lot of programing language to operate VB or similar programs?
__________________

Dustin Kesselberg is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 08:40 AM   #4
rcronk
Muse
 
Join Date: Nov 2006
Posts: 728
Wow - that's a tall order. There are many computer languages that you can use to create computer programs. Different people will suggest different languages based on what they like and how easy it is to learn. I'll cover a few basics to paint an overview for you that may hopefully get you started.

Computers generally don't directly "understand" the computer language that people program in (C++, C#, Java, Python, Basic, etc.), they understand machine code, which is difficult (but possible) for humans to program in, so generally you need what is called a compiler that can "translate" the human friendly language (C++, etc.) into machine code. Some of the newer languages like C# compile to an intermediate language that can then be compiled to machine code later. The intermediate code is hardware independent so this is done for portability reasons. Sorry, I don't think I'm being very noobie friendly so far - stay with me.

So, you need to figure out which language you want to learn (C++, C#, Basic, Java, etc.) and then find some tutorials online about that language. There are a lot of tutorials out there for free, just Google around. You will then need to get a compiler for that language. Many are commercially available and there are also many free ones out there. Again, Google can be helpful here.

Now, above and beyond the language you use, there are design concepts that are important to learn if you want to be more than just a quick and dirty hacker. Anyone can hack out code and get something that generally works, but it takes years of experience (and many times schooling) to become a really good programmer that can fully utilize object oriented design concepts (for example) and good software configuration management practices, but you can Google those terms later on and learn more about them. There are also some good ideas like unit tests and refactoring that can be very useful to help you make good code that is easy to maintain and extend or add features to. Again, these things take years of experience to nail down. I've been programming for almost 30 years now and I've just been getting into the higher levels of these design concepts and software configuration management in the past 5 or 10 years or so. Of course, you really don't need to worry too much about these advanced topics when you're starting out, I'm just trying to help you understand that if you're going to make something big, you'll benefit greatly from these advanced concepts. But you're not going to get them by googling around for a few weeks. You either need to go to school or work as a programmer for years.

I've worked on bad code and good code and there's a world of difference. It's really like comparing a baby who's just learning how to say "wa wa" to get some water to a shakespeare play. They both use English, but one is structured elegantly and it takes years to go from "wa wa" to Shakespeare. If you really want to go this route, go for it. Putting together a windows application that "works with an online website" is not going to happen in an afternoon or even in a few weeks or months. It's going to take some time and patience. You also might be able to find such a program already made that you can tweak for your needs.

Sorry if I didn't post a very helpful post here - I'm trying to cram 30 years into 5 paragraphs. It's harder than I thought. Anyway, go look for some beginning programming tutorials and jump in. All computer languages have similar concepts, just like human languages, since they're all trying to solve similar problems.

Someone else might have a better suggestion on which language to start out with based on ease of learning the language and based on availability of compilers and tools for free.

Here's a good general starting point for you that I found by googling: http://cplus.about.com/od/introducti...Start_Here.htm

Last edited by rcronk; 15th November 2007 at 08:59 AM.
rcronk is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 08:45 AM   #5
Nancarrow
Chelonian Overlord
 
Nancarrow's Avatar
 
Join Date: Dec 2005
Location: London, UK
Posts: 468
Originally Posted by Nancarrow View Post
upshot is you may have to write a lot of opaque introductory ******** in your code before getting down to the bits that actually do things.
RANT! Oh, come ON. I can understand blanking out '****', but 'bull'? You've got to be ********ting me.
__________________
A mosquito was heard to complain
That a chemist had poisoned his brain
The cause of his sorrow
Was paradichloro
Diphenyltrichloroethane.

Last edited by Nancarrow; 15th November 2007 at 08:45 AM.
Nancarrow is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 08:50 AM   #6
Dustin Kesselberg
Usus magister est optimus
 
Dustin Kesselberg's Avatar
 
Join Date: Nov 2004
Location: Al Jumahiriyah al Arabiyah al Libiyah ash Shabiyah al Ishtirakiyah al Uzma
Posts: 4,673
I've been learning a bit of "JavaScript" but I don't believe that this would be suitable for windows based programs, just website interaction. I have read that Javascript is different from "Java", is this correct?

Also, In your personal experience, What programing language would be best for a Windows program that works with an online website? Meaning that it can make changes to an online website and can receive information updates from that online website through some various feeds, etc. What language would be most suitable for this in your personal experience?

Also, What about books? Are books usually the way to go when learning these things or should I stick to online websites since they are updated more often? Would books maybe 3-6 years old still be relevant for today?
__________________

Dustin Kesselberg is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 09:05 AM   #7
RecoveringYuppy
Illuminator
 
Join Date: Nov 2006
Location: Tucson, AZ
Posts: 3,851
Java is different from javascript in a number of ways, although the syntax of the statements is very similar.

If those are the languages you are most familiar with then I'd recommend Java, C, C++, C# or something along those lines. Similar syntax to what you already know.

So what language do you know the most about?
__________________
REJ (Robert E Jones) posting anonymously under my real name for 30 years.

Make a fire for a man and you keep him warm for a day. Set him on fire and you keep him warm for the rest of his life.
RecoveringYuppy is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 09:06 AM   #8
Jekyll
Graduate Poster
 
Jekyll's Avatar
 
Join Date: Apr 2005
Location: The other other place
Posts: 1,589
Fortunately Microsoft have been learning from the Jesuits/drug dealers, and now have a policy of "Give me a programmer till he's 17 and I'll show you the man."

So the first hit of Visual Whatever is now completely free:
http://msdn2.microsoft.com/en-us/express/default.aspx

And it now does web programming...
Have fun.
__________________
And I looked. And behold a green horse, and his name that sat on him was death. ~Tyndale New Testament
Jekyll is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 09:09 AM   #9
Dustin Kesselberg
Usus magister est optimus
 
Dustin Kesselberg's Avatar
 
Join Date: Nov 2004
Location: Al Jumahiriyah al Arabiyah al Libiyah ash Shabiyah al Ishtirakiyah al Uzma
Posts: 4,673
Originally Posted by Jekyll View Post
Fortunately Microsoft have been learning from the Jesuits/drug dealers, and now have a policy of "Give me a programmer till he's 17 and I'll show you the man."

So the first hit of Visual Whatever is now completely free:
http://msdn2.microsoft.com/en-us/express/default.aspx

And it now does web programming...
Have fun.
I'm sorry, but I didn't understand a single thing you just said.
__________________

Dustin Kesselberg is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 09:11 AM   #10
Jekyll
Graduate Poster
 
Jekyll's Avatar
 
Join Date: Apr 2005
Location: The other other place
Posts: 1,589
Originally Posted by Dustin Kesselberg View Post
I'm sorry, but I didn't understand a single thing you just said.
Download Visual Basic/C++/what ever from the website I linked you to.
It's free and Microsoft want you to take it.

It now does website programming too apparently.
__________________
And I looked. And behold a green horse, and his name that sat on him was death. ~Tyndale New Testament
Jekyll is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 09:13 AM   #11
Dustin Kesselberg
Usus magister est optimus
 
Dustin Kesselberg's Avatar
 
Join Date: Nov 2004
Location: Al Jumahiriyah al Arabiyah al Libiyah ash Shabiyah al Ishtirakiyah al Uzma
Posts: 4,673
Originally Posted by RecoveringYuppy View Post
Java is different from javascript in a number of ways, although the syntax of the statements is very similar.

If those are the languages you are most familiar with then I'd recommend Java, C, C++, C# or something along those lines. Similar syntax to what you already know.

So what language do you know the most about?

I'm a beginner at Javascript. A very new beginner.
__________________

Dustin Kesselberg is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 09:16 AM   #12
Dustin Kesselberg
Usus magister est optimus
 
Dustin Kesselberg's Avatar
 
Join Date: Nov 2004
Location: Al Jumahiriyah al Arabiyah al Libiyah ash Shabiyah al Ishtirakiyah al Uzma
Posts: 4,673
Originally Posted by Jekyll View Post
Download Visual Basic/C++/what ever from the website I linked you to.
It's free and Microsoft want you to take it.

It now does website programming too apparently.
That is "Visual Studio 2008 Express Editions Beta 2", Is that what I would need for creating what I want to create?

Also, is it a trial version for 30 days or is it free period?
__________________

Dustin Kesselberg is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 09:25 AM   #13
Jekyll
Graduate Poster
 
Jekyll's Avatar
 
Join Date: Apr 2005
Location: The other other place
Posts: 1,589
Originally Posted by Dustin Kesselberg View Post
That is "Visual Studio 2008 Express Editions Beta 2", Is that what I would need for creating what I want to create?

Also, is it a trial version for 30 days or is it free period?
I don't know what you want to create. But yes, it let's you make windows GUIs very easily.

Free period I think, the 2005 edition certainly was.

Edit: If you click on the download links it takes you to the 2005 edition, I'd take that and ignore the 2008 beta.
__________________
And I looked. And behold a green horse, and his name that sat on him was death. ~Tyndale New Testament

Last edited by Jekyll; 15th November 2007 at 09:27 AM.
Jekyll is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 10:32 AM   #14
RecoveringYuppy
Illuminator
 
Join Date: Nov 2006
Location: Tucson, AZ
Posts: 3,851
Do I understand that you want to write a windows GUI style program that runs on your computer and interacts with a web site? So you're trying to automate your interaction with a web site?

If so, Visual Studio 2008 Express Editions Beta 2 is one of the ways to do that. You'll want to look for phrases like "consuming web resources", "interacting with web services" and ".NET" in any tutorial books or websites.
__________________
REJ (Robert E Jones) posting anonymously under my real name for 30 years.

Make a fire for a man and you keep him warm for a day. Set him on fire and you keep him warm for the rest of his life.
RecoveringYuppy is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 10:38 AM   #15
Dustin Kesselberg
Usus magister est optimus
 
Dustin Kesselberg's Avatar
 
Join Date: Nov 2004
Location: Al Jumahiriyah al Arabiyah al Libiyah ash Shabiyah al Ishtirakiyah al Uzma
Posts: 4,673
Originally Posted by RecoveringYuppy View Post
Do I understand that you want to write a windows GUI style program that runs on your computer and interacts with a web site? So you're trying to automate your interaction with a web site?

If so, Visual Studio 2008 Express Editions Beta 2 is one of the ways to do that. You'll want to look for phrases like "consuming web resources", "interacting with web services" and ".NET" in any tutorial books or websites.

Does Visual Studio 2008 come with the ability to create C++, Java and VB or does it just work for VB?

Also, Would it be advisable to learn about VB (or whatever language is best) before even downloading Visual studio 2008 or can I create a program with VS 2008 without knowing the language in question?
__________________

Dustin Kesselberg is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 10:50 AM   #16
RecoveringYuppy
Illuminator
 
Join Date: Nov 2006
Location: Tucson, AZ
Posts: 3,851
Originally Posted by Dustin Kesselberg View Post
Does Visual Studio 2008 come with the ability to create C++, Java and VB or does it just work for VB?
Visual Studio works with all those languages. It is packaged in a variety of ways though at different prices and some version don't include all languages.
Originally Posted by Dustin Kesselberg View Post
Also, Would it be advisable to learn about VB (or whatever language is best) before even downloading Visual studio 2008 or can I create a program with VS 2008 without knowing the language in question?
You can't create a serious program without knowing the language no matter what you use. There are some tutorials that will have you cut and paste a program together, but IMO they teach how to use the editor but not how to program.

Do you know what an IDE (Integrated Development Environment) is? Visual Studio is an IDE that attempts to help you program in several different languages. The IDE itself is a program itself and completely separate from the language. Think of it as a complicated editor.

Do you have enough experience to know if you like IDEs or do you prefer a more nuts and bolts approach such as editing with notepad?

It's a matter of taste and preference but I think beginners should begin writing programs in notepad (or other simple editor) to learn the language. I think big IDEs can be overwhelming to newcomers.
__________________
REJ (Robert E Jones) posting anonymously under my real name for 30 years.

Make a fire for a man and you keep him warm for a day. Set him on fire and you keep him warm for the rest of his life.
RecoveringYuppy is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 11:32 AM   #17
Wowbagger
The Infinitely Prolonged
 
Wowbagger's Avatar
 
Join Date: Feb 2006
Location: Westchester County, NY (when not in space)
Posts: 13,536
I would reiterate the idea of download Visual Studio Express editions.

The currently supported edition is Visual Studio 2005: http://msdn2.microsoft.com/en-us/express/aa718406.aspx
(There are links at the top of the page to download VB, C#, or J# (near-Java). I would recommend one of those three languages. VC++ could be too chewy for noobies.)

The 2008 edition is "only" in Beta, at the time I am writing this. It is very nice, anyway. But, but is not officially supported, yet. You'll have to wait a few more months for that. Not sure if that really matters to you, though.

Both Express editions are free. The 2005 edition does not have a time limit. I do not recall if the 2008 one does.

All those languages use the .NET Framework for programming Windows apps., Web apps., and things that combine both. The Framework organizes it tools and functions into "Namespaces".

For your example:
If you want a Windows app. that can interact with websites, you could build the actual application with "System.Windows.Forms" namespace, and then call various function in "System.Web" namespace, if you wanted to interact with things on the Internet.

I recommend getting a good beginner's book for the language of your choice.

Of course the Express editions of Visual Studio do not quite have all the professional tools and freatures of the highly priced editions. But, it should be plenty good for the beginner and hobbyist. That is what they are there for.
__________________
WARNING: Phrases in this post may sound meaner than they were intended to be.

SkeptiCamp NYC: http://www.skepticampnyc.org/
An open conference on science and skepticism, where you could be a presenter!

By the way, my first name is NOT Bowerick!!!!
Wowbagger is online now   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 15th November 2007, 11:40 AM   #18
Wowbagger
The Infinitely Prolonged
 
Wowbagger's Avatar
 
Join Date: Feb 2006
Location: Westchester County, NY (when not in space)
Posts: 13,536
Ohh, I almost forgot another bit of advice I've historically given to people who wish to begin learning programming: If you have any of the major Microsoft Office applications: Word, Excel, Powerpoint, Access, etc.; you already have access to a version of Visual Basic, called VBA (Visual Basic for Applications)!

Granted, it's and older, pre-.NET version (.NET is sooo much cooler!), but it could get you started on basic programming concepts! And, if you already have it, then you might as well try toying with it a little. Alt-F11 will usually bring up the programming window. You still need a good book on beginning VBA to learn it, though.

One of the reasons I don't mention VBA as much, anymore, was the introduction of the free VS Express editions I posted about, before. VS Express is better. But, if you don't want to download it, you can resort to VBA, assuming you have it, if you wanted to.
__________________
WARNING: Phrases in this post may sound meaner than they were intended to be.

SkeptiCamp NYC: http://www.skepticampnyc.org/
An open conference on science and skepticism, where you could be a presenter!

By the way, my first name is NOT Bowerick!!!!
Wowbagger is online now   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 16th November 2007, 01:27 PM   #19
Kaylee
Illuminator
 
Join Date: Feb 2005
Posts: 3,838
Not sure what you want to do. Try looking up mysql and php -- they are both free. If you are aiming for webapps take the time to learn plain vanilla HTML also.

Eventually you may want to learn Apache also.
__________________
When everyone think alike, no one thinks very much. -- Walter Lippman''
Kaylee is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 18th November 2007, 02:39 PM   #20
my_wan
Graduate Poster
 
my_wan's Avatar
 
Join Date: Feb 2007
Posts: 1,077
If you want to learn programming take the time to learn C++. If you just want the simplest and easiest to learn programming language for windows (95 and newer) go with AutoIt. It even has user defined functions (UDFs) included to manipulate web pages.

[Pluses]
*Free
*Very powerful.
*Very easy to learn.
*Compilable as standalone EXEs. No DLLs required.
*Script you own GUIs (Graphical User Interfaces).
*Simulate keystrokes and mouse movements.
*Manipulate windows and processes.
*Interact with all standard windows controls.
*With SciTE it will autocomplete keywords etc. like VB used to.
*Directly call external DLL and Windows API functions.
*Very rich set of logical constructs, arrays, network functions, etc.
*Included and extensible UDFs (User Defined Functions).
*Very good context sensitive helpfile.
*Regular expressions
*COM support
*Unicode support.

[Minuses]
*247 KB overhead. That's less that the DLL overhead of VB.
*Interpreted script even in compiled form (speed).
*Fairly easy for someone to get your source code from the compiled script. Can be made difficult but far from impossible.
*All variables are variants. Allows very sloppy coding.

Even if you program with more advanced languages AutoIt will often be the best choice in many circumstances.

http://www.autoitscript.com/autoit3/
Be sure and get the full installation that includes SciTE for an excellent IDE.
__________________
Peace to all people of the world. The evidence indicates that this is best accomplished through a skeptical approach.
my_wan is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 18th November 2007, 10:28 PM   #21
GreNME
Philosopher
 
GreNME's Avatar
 
Join Date: Sep 2007
Location: Folsom Prison
Posts: 8,283
Originally Posted by my_wan View Post
If you want to learn programming take the time to learn C++. If you just want the simplest and easiest to learn programming language for windows (95 and newer) go with AutoIt.
With the exception of the part about C++, I agree 100% about AutoIT. You can either create very nice automation programs or you can go the extra step and actually create UI for the program you're working on. Very cool stuff.
__________________
Like love, criminals will always find a way. -- foxholeatheist

The kind of pacifism I endorse is brought about by eliminating one enemy combatant at a time.-- JoeyDonuts
GreNME is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 19th November 2007, 02:47 AM   #22
my_wan
Graduate Poster
 
my_wan's Avatar
 
Join Date: Feb 2007
Posts: 1,077
Originally Posted by GreNME View Post
With the exception of the part about C++, I agree 100% about AutoIT. You can either create very nice automation programs or you can go the extra step and actually create UI for the program you're working on. Very cool stuff.
Yes for most of us learning C++ is unnecessary with an unnecessarily steep learning curve. On the other hand your not going to develop drivers, programs like AutoIt, high level games, etc. with programs like AutoIt.
__________________
Peace to all people of the world. The evidence indicates that this is best accomplished through a skeptical approach.
my_wan is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 19th November 2007, 03:01 AM   #23
my_wan
Graduate Poster
 
my_wan's Avatar
 
Join Date: Feb 2007
Posts: 1,077
Dustin, if you install AutoIt and want some sample programs that do what you want just explain what it needs to do and I'll write some demonstration scripts for you. Sometimes it it easier to learn when you have small working sections of scripts that you can copy and/or reverse engineer. You might want to PM me to get my attention.
__________________
Peace to all people of the world. The evidence indicates that this is best accomplished through a skeptical approach.
my_wan is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 19th November 2007, 07:17 AM   #24
GreNME
Philosopher
 
GreNME's Avatar
 
Join Date: Sep 2007
Location: Folsom Prison
Posts: 8,283
Originally Posted by my_wan View Post
Yes for most of us learning C++ is unnecessary with an unnecessarily steep learning curve. On the other hand your not going to develop drivers, programs like AutoIt, high level games, etc. with programs like AutoIt.
Very true. However, I usually tell kids today wanting to learn a lower level programming language (than AutoIT) to look into C#.

Of course, I took C++ for my programming classes when I was learning the basics of programming. I can agree C++ (or C) makes a good starter language. I never went very far with it, but I did get to learn to apply concepts of programming logic that now allow me to look at a wide variety of code and at least know the basics of what I'm looking at.
__________________
Like love, criminals will always find a way. -- foxholeatheist

The kind of pacifism I endorse is brought about by eliminating one enemy combatant at a time.-- JoeyDonuts
GreNME is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 19th November 2007, 04:43 PM   #25
Furi
Felix Sapiens
 
Furi's Avatar
 
Join Date: Jul 2007
Location: Living life in the bus lane
Posts: 2,006
I would certainly if starting from a fresh brain, start of with c++ (or similar in structure variant)

yes it is a bit of a curve but would be worth it, many languages are based upon C roots and the basics will allow you to assimilate other languages almost effortlessly

If you want something quick and dirty to get into and also to teach you to write tight memory efficient code whilst picking up a whole bucketload of bad habits, might I recommend a Vic20 or C64 emulator, good old MS basic repackaged, and you can dive into hardware 6502 asm through a shell, won't teach you diddly about programming windows, but will allow you to mess around quite happily and teach you core functions of what a computer actually does, who says you can't write a decent programs in <3.5k of interpreted basic (bwahahaha)

if you have access to office products, I find VBA running behind excel will suit quick and dirty solutions for most needs, depends what you want to do on your website, Right tool for right job, C and it's derivatives will prob be your best bet, that is what I would choose if starting afresh.

as for books, there are so many excellent books and resources out there, I haven't been to a library or charity shop yet that doesn't have good C++ or VB bibles knocking around in it
Furi is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 19th November 2007, 09:42 PM   #26
shadron
Philosopher
 
shadron's Avatar
 
Join Date: Sep 2005
Location: Colorado
Posts: 5,719
Originally Posted by RecoveringYuppy View Post
Do you know what an IDE (Integrated Development Environment) is? Visual Studio is an IDE that attempts to help you program in several different languages. The IDE itself is a program itself and completely separate from the language. Think of it as a complicated editor.

Do you have enough experience to know if you like IDEs or do you prefer a more nuts and bolts approach such as editing with notepad?

It's a matter of taste and preference but I think beginners should begin writing programs in notepad (or other simple editor) to learn the language. I think big IDEs can be overwhelming to newcomers.
I have to differ with this conclusion. I learned programming starting with FORTRAN II on paper tape in 1964, and walked right up the ladder from there. By the time I got to MS C++ v6, I still wanted to go the manual edit -standalone compile route because I understood it. The thing that forced me to stop and take several weeks out to learn the MSVC IDE (sorry about all the jargon) is the debugger. You can do much debugging faster with the debugger than with embedded output statements and the like.

It's like this - you'll spend a fair amount of time learning to use any editor well. If you learn the editor in the IDE instead, then that's a third or more of the learning curve defeated, and you'll have a great start with the rest if the IDE's features. Learning new and different text editors has been the bane of my existence.

Of course, that doesn't help much when the boss walks in and says he wants to replace your existing setup with IBM's WAS or some such...

As far as all-around programming goes, the easiest language to learn is probably Visual Basic, though purists will grumble about it. In turn, it will give you at least the flavor of, say, C++ or C#, particularly in that the library calls will be familiar to you (library calls are at least half of learning how to use a language, and its simply rote memorization, or at least familiarization). Javascript is for web pages, Java will likely snow you - it certainly did me. I've never tried AutoIt; sounds like it may be a good start point. PHP, mySQL and SQL in general, and all the "4GL" languages are for databases; it would be best to start with some database theory before trying them out, as they may be significantly different in form and style (you can also parlay your VB skills into MS Access and work into databases that way, learning SQL).

Lots of ways to go, so go get your feet wet. BTW, looking on eBay for one of the MSVC packages is an easy way to get started and avoid the short lifespan of te MS freebie package. You should be able to get MSVC .NET (2002) Pro version for not much, as it is two versions back, but the differences won't mean much until you can earn the money for the latest using the skills you learn.

Last edited by shadron; 19th November 2007 at 09:46 PM.
shadron is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 20th November 2007, 12:24 AM   #27
my_wan
Graduate Poster
 
my_wan's Avatar
 
Join Date: Feb 2007
Posts: 1,077
Personally I hate nearly all IDEs. VB6 was ok because it did a lot of work for you but could also be a pain for the same reason. I now use SciTE for everything. It allows the pure text of notepad with a fully customizable lexer to give it the power of the VB6 IDE. In the AutoIt tools is a graphical GUI designer written in AutoIt that attempts to do what the VB6 graphical designer did. I never use it. 99% of all programs I've ever written in VB was simpler, easier, and faster in AutoIt without worrying about support DLLs.
__________________
Peace to all people of the world. The evidence indicates that this is best accomplished through a skeptical approach.
my_wan is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 20th November 2007, 01:33 AM   #28
sphenisc
Illuminator
 
sphenisc's Avatar
 
Join Date: Jul 2004
Posts: 3,750
Originally Posted by Dustin Kesselberg View Post
I am totally new to creating computer programs and I wanted to know where I could start to learn about them. I want to create a Windows program that can work with an online website. How would I go about creating such a program? Remember, I am totally new to creating programs and have no idea where to start. What programs are good for this? What computer languages are best to use for such things?

Also please post other threads from this forum that explain similar things to this. I would search but I think that I would get better results this way.

Thanks.

If you want to hold one conversation with someone in a foreign language, you don't learn their language you get an interpreter. Frankly unless you expect to do more than write one program it's not worth the effort of learning how to program yourself.
I'd suggest you outline here exactly what you'd like your program to do and others can advise you on whether it's a major project, or something they'd be happy to knock together for you in a few hours. If it's a slightly bigger project then computing students are usually willing to demonstrate their expertise for beer money.

Last edited by sphenisc; 20th November 2007 at 01:33 AM.
sphenisc is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 20th November 2007, 01:30 PM   #29
Wowbagger
The Infinitely Prolonged
 
Wowbagger's Avatar
 
Join Date: Feb 2006
Location: Westchester County, NY (when not in space)
Posts: 13,536
Incidentally, Visual Studio 2008 Express Editions are NO LONGER in Beta! The final release versions are now available to download:

http://www.microsoft.com/express/product/default.aspx

(Man, that was sooner than even I thought it would be. I must be slipping in my news update reading habits.)
__________________
WARNING: Phrases in this post may sound meaner than they were intended to be.

SkeptiCamp NYC: http://www.skepticampnyc.org/
An open conference on science and skepticism, where you could be a presenter!

By the way, my first name is NOT Bowerick!!!!
Wowbagger is online now   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 20th November 2007, 01:40 PM   #30
Bill Thompson
Banned
 
Join Date: Oct 2006
Location: Redmond, Washington
Posts: 6,176
Originally Posted by Dustin Kesselberg View Post
I am totally new to creating computer programs and I wanted to know where I could start to learn about them. I want to create a Windows program that can work with an online website. How would I go about creating such a program? Remember, I am totally new to creating programs and have no idea where to start. What programs are good for this? What computer languages are best to use for such things?

Also please post other threads from this forum that explain similar things to this. I would search but I think that I would get better results this way.

Thanks.
I will do it if you pay me.

I will teach you if you pay me.
Bill Thompson is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Old 5th December 2007, 12:24 AM   #31
jmontecillo01
Thinker
 
Join Date: Oct 2006
Posts: 192
I know this is an old thread but I would like to put in my 2 cents if you down mind.

I was introduced to computers way back 1974. I passed a gov't exam for a 4 week training in Cobol. The course involved us writing a sort algorithm and a simple payroll application. I got a job in the private sector then after six months, was assigned to maintain assembly applications running in Univac 9300 (similar to S360 with a 4K memory).

I stayed in that job for 2 years then started to do contracting. Bexause of my experience in assembly, majority of my contracts were designing/writing S370 operating system components. The other was porting one language to another language. I bought an Amiga computer which required me to learn M6800 assembly and C. I bought a C primer (Ritchie and Kerningham) and wrote my first C program after 3 days. I then bought my first intel based machine and learned intel assembly.

This is based on experience.

First, you must understand that all machines work in the same manner. You must be able to visualize what is happening inside the CPU, that inside are only switches that can be turned off and on, depending on the machines instructions.

You can use any language to achieve a purpose, although some languages are designed to lean more to a particular scenario. For the conversion job that I did, I used Cobol. The requirement was to parse the existing language and come up with the new language. This is basically what a compiler does. I made that decision to use Cobol as all mid-range/mainframe machines implements Cobol so it was easy for me to just take it from one contract to the next.

It is necessary that you understand binary/hexa/octal arithmetic. You must also understand boolean arithmetic (or,and,xor,...).

You must also keep in mind that arithemetic and boolean are parsed according to priorities. That is:

1+2*3. The multiplication has higher priority that plus, so it becomes 2*3 first, then add 1 to the result/ This is true for boolean expression. That is, and has a higher priority than or.

To override this, you use parenthesis so
(1+2)*3 is resolved as 1+2 first, then multiply the result by 3.

Boolean bits (or switches) are merely the state of bit (or byte). a binary zero signifies false while a non zero signifies true.

Internal ordering of numeric data should also be taken into consideration, if required. There is what is called LSB/MSB (intel) which means the least significant byte preceeds the most significant byte.

So

if the actual value is X'1234', then internally, it is represented as X'34' first, then X'12'. (visually X'3412') Other CPU's represent the internal data as MSB/LSB. That is the most significat byte first, followed by the least significant. Also, as I understand it, the representation for numeric data passed in the web (net) is MSB/LSB (please somebody correct me if I'm wrong).

There are two types of programming. There is what you call procedural, which you start, then wait until it ends (does not involve user interaction). The other is object oriented which is the approach used in modern programming because of the necessity of user interaction.

Finally,

I suggest that you try your hand first using C. Create a little application that would read an input file and come up with an output. It is a lot easier to create a procedural type of program. GNU has a lot of projects using the implementation of Ritche and Kerningham's C. You can download the source if you want to take a look at them. Afterwards, when you have learned the C syntax, you can then move to C#. I have enjoyed using C#. The disadvantage is the the C# modules will only run under .NET. (To be honest, I haven't tried MONO under Linux) Being object oriented, there are a lot of things to learn. (TreeView, Panel, ListView,...), but the language is quite powerful.

Arm yourself with a good manual. It is hopelessly difficult to find the object you require using the help facility without knowing what you are looking for. For example, If I need to find the help for an object that can input text, I will have to know first that what I am looking for is called textbox.

After you have familiarized yourself with C, it would be very easy to learn other languages.A good example is Java.


Good luck
jmontecillo01 is offline   Quote this post in a PM   Nominate this post for this month's language award Copy a direct link to this post Reply With Quote Back to Top
Reply

JREF Forum » General Topics » Computers and the Internet

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -7. The time now is 08:55 AM.
Powered by vBulletin. Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
© 2001-2012, James Randi Educational Foundation. All Rights Reserved.

Disclaimer: Messages posted in the Forum are solely the opinion of their authors.