Jump to content
Objectivism Online Forum

How To Go About Programming

Rate this topic


Recommended Posts

This is just the attitude I dispute. I would challenge anyone to show me something possible with C++ that cannot be done (and better) with VB.Net or C#
Off the top of my head cross-platform development and ISAPI filters for IIS.

But don't get me wrong, I'm not trying to say .NET is a bad thing. I actually do VB.NET and C++ programming for a living and I really like most aspects of .NET. The language you choose should be suited to the project. I use VB.NET for most apps that will be used directly by an end-user, but I also maintain the code for our ISAPI filter and that can only be done in C++.

Hide what exactly? Visual Studio is not a programming language, it's an IDE - it can be used to code in VB, C++, or assembly if you want.

This is an issue I've encountered way too many times when using VB.NET. The IDE is great at generating all that "tedious" code for me. But there are times when the IDE gets confused about the code it generated and refuses to compile. I've found that the only solution to this is to actually delve into the section of code labeled "VS generated code, do not edit using the source code editor" and fix the problem manually. If I had no clue what was happening when that control was first created, I wouldn't have been able to fix the problem.

Problems like this are actually bugs in Visual Studio and should hopefully be fixed as Visual Studio and .NET in general matures. But the fact remains, if you don't know what is going on, how are you going to deal with these bugs?

Link to post
Share on other sites

Here's an article that classifies all the major languages. You went with a scripting language...

Scripting languages such as Perl[9], Python[4], Rexx[6], Tcl[8], Visual Basic, and the Unix shells represent a very different style of programming than system programming languages. Scripting languages assume that there already exists a collection of useful components written in other languages. Scripting languages aren't intended for writing applications from scratch; they are intended primarily for plugging together components.

Scripting languages are sometimes referred to as glue languages or system integration languages.

Edited by Eternal
Link to post
Share on other sites

Thank you all for the information. I am going to try to start with Python. Hopefully I dont get utterly lost. Take care and keep on thinking.

As I have been reading into this subject I have seen the mention of 'power'. I dont understand what criterion is used to judge how powerful a certain piece of prgramming is. Can anyone give me the rundown?

Link to post
Share on other sites
... 'power'. I dont understand what criterion is used to judge how powerful a certain piece of programming is.
Good catch! Strictly speaking, it's meaningless to speak of power without specifying power to do what? The most common usage refers to the language's level of abstraction, in the sense that the language allows the user to achieve a lot, by "saying" very little. E.g.

Language 1:

Move X to Register-1
Add Y to Register-1
Move Register-1 to Z[/code] Language 2:
[code]ADD X to Y GIVING Z

As you can see, Language 2 (a real example from COBOL) abstracts away from the internal hardware component (a CPU "register"). The designers of the language don't want to worry about whether numbers have to be moved to CPU registers before they can be added. They don't want to tie the user down to the internals of the machine. They want to allow the user to specify the instructions in a way that is close to the way the user would specify it in "natural" language.

The term "power" is sometimes used in a different and almost opposite sense to refer to the ability of the language to manipulate the machine on which it runs. With this meaning, Language 1 has the ability (or "power") to manipulate hardware registers, while Language 2 does not.

If I were to use an automotive analogy, one might say: an automatic transmission is more powerful in the sense that the car does more for the driver; on the other hand, one might say that a manual transmission is more powerful in the sense that it give the driver more control over the vehicle.

Even if one uses the term power to mean only one of the above, different languages may have power in different types of tasks.

Edited by softwareNerd
Link to post
Share on other sites

I started with BASIC, then Pascal in high school. Then to C, C++, Java, Scheme, and some made up assembly language. Finally PERL which I use the most as it is quick and easy and very powerful with string manipulation.

You've already picked Python, nothing wrong with that. I think what is important is to learn how to think like a programmer, being able to follow the flow of an algorithm with conditionals and function calls and understanding what is happening to the data as it travels a path of the program. Any language can help teach you that, everything else is syntax.

Link to post
Share on other sites
Off the top of my head cross-platform development and ISAPI filters for IIS.

Well, my point is that there is no architectural task that .Net is not suited for, not that all platforms are made to work with it. But in fact, you can use ASP.Net as ISAPI filter by redirecting all traffic to it, and you can run .Net on Linux with Mono.

Edited by GreedyCapitalist
Link to post
Share on other sites
  • 2 weeks later...

I would agree with Perl. I haven't used Python so I couldn't say much about that, but I do know that Perl, although it has a lot of shortcuts that might be confusing at first, is a very easy language to actually start doing things in. I took a scientific computing class as an elective this semester (CS class), which was taught in Perl, and one of the students was a biology major with no programming experience. She was nearly up to speed with us without spending too much extra time figuring out the fundamentals.

I would recommend against C++ or Java (especially C++). C would be ok to start with. I wouldn't recommend starting with a functional language like Scheme, debugging would be very difficult for someone new to programming and there would be a steeper learning curve.

Whatever direction you choose (sounds like Python), good luck.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...