Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
I was wondering if it is possible to use the Python language without employing object-oriented techniques. The reason I ask is because I would like to learn Python some time soon, however I don't think I'm ready to tackle OOP yet.

Sure, you can use python as a procedural
language. It does have some quirks in this
vein, but they are not really too serious.

I've spent a little bit of time on Python, and it seems to me that trying to separate Python into OOP bits and non-OOP bits would be a fairly long process leading to no good end. The Python distributions that I've seen (for Windows and Linux) include some materials to help you get the hang of Python. I'd say just try to learn the language and don't worry about whether you might accidentally learn some OOP stuff.
If you know almost any other programming language, you'll have enough on your hands trying to get used to the notion that indentation matters.
Jeff

Thanks for the advice. Right now, I'm still learning LibertyBASIC. I was just wondering where I should go from there. I was considering Python, but I wasn't sure if I should go OOP yet. Do you have any advice for a next language after Basic?

Hi - I don't know about Python, but Ruby would be OK for procedural programming, although it also supports OO well.
Don't worry about difficulties with OO, not all languages are as daunting as C++.
Regards, Guy

There are many languages to learn and which one you choose depends a lot on what sort of problems you are facing, how quickly you must get up to speed, whether you need much/little support, whether you are a professional or hobbyist, etc.
I mean, heck, I always thought FORTRAN 77 was a pretty decent language, but I wouldn't recommend anyone learn it unless they need to.
I haven't really checked it out yet, but I keep thinking the new Lego sets that come with a microcontroller have to be pretty cool, and probably pretty easy to learn, given to whom they are marketing.
Jeff

"Don't worry about difficulties with OO, not all languages are as daunting as C++."
I was considering learning C next.(definitely not C++). would you advise against attempting C next? It seems like it would be easier than Java considering C is not OO, but what do I know...
"There are many languages to learn and which one you choose depends a lot on what sort of problems you are facing, how quickly you must get up to speed, whether you need much/little support, whether you are a professional or hobbyist, etc."
I'm a college student who is considering going into computer science, and considering programming as an occupation. So I guess my goals would be "professional" or maybe educational, or some combination of both.
So far as my interests are concerned...right now, I would really like to learn some things about network programming and writing network applications. Heck, I would just be thrilled to know how to code *anything* remotely useful.By the way, what is this you are saying about Lego? Please elaborate. If it is a child's toy or something, it might actually be on my intellectual level.

Hey!
There is Pascal... It has been created as a "school language", it is thus not really used professionaly, but it can get you started.
I think that the most used is C. At least that's what I saw the most in my placements (not engineer yet, 8 months to go).
I wouldnt really advise you to start with Pascal, though. If you want to start with a useful procedurial language, C is definitely better.
Furthermore, it can lead you to C++. You shouldnt be afraid of object oriented! I had no real difficulty to understand what it was (it was much harder to get the use of it!). It's great!
And when it comes to java, I wouldnt say it's difficult. People say it's easy, at least! For simple application, you mostly use the work that has already be done by other programmers!!Good luck,
Gauthier

Jack-R,I'm one of the last few people it seems who doesn't think that everything needs to be OO ;)...
C is great if you have good math skills and a good teacher.
As far as C++ being "harder" than C...
Depends on what you are doing..I've seen
some horrible stuff in C++, that should have been done in C...and vice versa.Java is junk IMO, I've got no use for it.
It's slow, it sucks memory, half of
it's libraries and API's are deprecated, and it is an ugly language syntactically.Unfortunately if you want to be employable as a programmer the two languages that I see jobs for
are C and Java right now.
It's sad because tcl/tk has a better
syntax, it's tk set is so much easier to build gui's with and I don't find it to
be any slower than java, faster most of the time.

Just to make things go full-circle, Python makes good use of the tk toolset for GUI development.
Jack - C is always a good choice, especially if you are interested in low-level applications. You mentioned network apps, so learning C would put you in a good position to understand the code that runs network stacks, switches, network interface cards, etc. In other words, the sort of stuff that runs networks.
OTOH, Java - a very popular choice these days - would be very useful putting together distributed applications, that is, the sort of stuff you want to have a network to do.
But truly, picking languages to read is like picking music to listen to. The latest and greatest is just around the corner, and you'll probably be picking up new stuff for many, many years. So rather than stew on it too much, just pick a language and go with it.
Jeff

All I can say is it really doesn't matter what you chose. Just spend a lot of time on it.
In the time I've had an internship I've learned 4 languages. C++, LotusScript(Visual Basic superset), Lotus Formula(lol), JavaScript(lol).
Don't get in the mindset that OOP is always good or always bad. Learn to use them when appropriate. Get solid Programming experience. That will follow you through whatever languages you decide to take up.
I'm getting quick on how fast I pick up programming languages, not due to intelligence just tenacity. Keep bashing your head against the wall and you'll come up with gold, and a bruised head.

Thanks everyone for all of this information.
I'll probably look it over a few times again just so my brain can process it. :)There is something junky_toof that I would like to ask about:
"C is great if you have good math skills and a good teacher. "
I have neither good math skills or any teacher aside from a couple books. Does this mean I should not attempt C? And how good do my math skills have to be? The farthest I've ever gone is high school algebra. So it pretty much stops there.
As for all the OOP business:
I just always heard that OOP is an "advanced" topic. And I noticed from surfing the internet, looking at college curriculum and just talking with people, that the vast majority of people learn procedural langauges first. But I've also read an article that claims schools should start teaching OOP first. Well, whatever the case, I think someone made some sound advice. Just pick something and stick with it. I am very very indecisive. Its pretty bad really...
Anyway, thanks again to everyone for the advice.

Okay, a couple of things..
When you first learn C you will be dealing
with things like:int main(void) {
char buf[20] = "My name is myname"
int i;for (i=1 ; i <= 20 ; i++) {
printf("%s\n", buf);
}return 0;
}Later you will have to deal with bit manipulation, pointers ,pointer arithmetic
and the various octal, hexadecimal, etc..
data translations that are inherent in data typing it seems.
I have struggled and do struggle with this because I do not have a good background in math.
I've seen math guys pick up these concepts immediately.
Thus the advice ;)OOP...
A lot of people write OO type code without
even meaning to, it is the particular OO
system that is the clincher.

Thanks for clarifying junky_toof. I thought you were saying I'd have to be really good at math, like calculus level or something. I'm not familiar with pointers or pointer arithmetic, but I am comfortable dealing with different number systems like binary, hex and octal, the arithmetic involved in the those systems and switching between them. Would this be sufficient? Should I be okay?

![]() |
![]() |
![]() |

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