Had Phyton suggested

P

P.C.

Hi

My son like many youngsters been around computers, fast online games, he
acturly for main part learned to read and write ,beside his second language
english , and may I say he is quite good at it age 15 , but as some of you
know, 3D games also offer edditors and script options , or rather
programming choppers and dust clouds in scenes.
Now beside my bad english, my problem is, that I like him to learn decent
programming ------- sure I know the best way to learn is looking at source
code and change a bit here or there to se the actural results, but with his
knowleage about programming he proberly fail to se how functions work and
even he made some quite nice effects in the scenes in "Operation falshpoint
resistance" , I just know that he would profit from learning from buttom up,
a real programming language.
Now from an old friend I been advised Phyton, and as I know a bit about
programming ( Lisp ) , I agrea after checking a few links ; guess Phyton is
very much C++ like ,so investing in his interests programming scenes for
games, could be in his faviour .
Now I agrea that my own knowleage about compilers and more advanced
programming are limited, and my fear is that I will need some sort of C.
compiler causing day's and weeks of trouble setting up ------- or what do
the group think ; my question is, if there today are compilers that is set
up and work as simple as for instance the first Pascal compilers .
Well I agrea that my own trouble programming, never been the actural
programming, but all the silli trouble with compilers, as you se amatures
don't care if the program spend a bit more memmory ,as long as it work and
acturly produce compiled code.
Guess my question is, if it is possible to find a compiler that is fit for
amatures, one that an amature will not have to fight before it is ready to
use. One where you ,as when I learned programming , don't need to be a
compiler specialist before you even learn programming.

P.C.
 
S

Steve Horsley

P.C. said:
Hi

My son like many youngsters been around computers, fast online games, he
acturly for main part learned to read and write ,beside his second language
english , and may I say he is quite good at it age 15 , but as some of you
know, 3D games also offer edditors and script options , or rather
programming choppers and dust clouds in scenes.
Now beside my bad english, my problem is, that I like him to learn decent
programming ------- sure I know the best way to learn is looking at source
code and change a bit here or there to se the actural results, but with his
knowleage about programming he proberly fail to se how functions work and
even he made some quite nice effects in the scenes in "Operation falshpoint
resistance" , I just know that he would profit from learning from buttom up,
a real programming language.
Now from an old friend I been advised Phyton, and as I know a bit about
programming ( Lisp ) , I agrea after checking a few links ; guess Phyton is
very much C++ like ,so investing in his interests programming scenes for
games, could be in his faviour .
Now I agrea that my own knowleage about compilers and more advanced
programming are limited, and my fear is that I will need some sort of C.
compiler causing day's and weeks of trouble setting up ------- or what do
the group think ; my question is, if there today are compilers that is set
up and work as simple as for instance the first Pascal compilers .
Well I agrea that my own trouble programming, never been the actural
programming, but all the silli trouble with compilers, as you se amatures
don't care if the program spend a bit more memmory ,as long as it work and
acturly produce compiled code.
Guess my question is, if it is possible to find a compiler that is fit for
amatures, one that an amature will not have to fight before it is ready to
use. One where you ,as when I learned programming , don't need to be a
compiler specialist before you even learn programming.

P.C.
Python is an interpreted language, not a compiled one. So you don't need
to worry about compilers at all. This makes it a little easier to get
into than compiled languages. I thin python is a very good introduction
to someone who knows nothing about programming.

At the risk of making a lot of python fans angry, I would also suggest
that you look at java. This IS a compiled language (although ironically,
the compiled bytecode is interpreted). I suggest this for a few reasons:
* You cannot really avoid thinking in an object-oriented way when
writing java. I suspect that python will allow you to develop some very
nasyt habits.
* The java tutorial is massive, and has loads of examples.
* I have not seen anything like BlueJ for python. BlueJ is an excellent
beginners IDE with editor, debugger, and a UML-like diagram that shows
how your classes interconnect.

Better, learn a little of both languages.

Steve
 
P

Paxcal

I think that Python is really the best shioce... I started programming in
Python to make games and soon I started to listen people talking about how
easy and fast it was to create games in Python. Now I'm one of then =) .
Python is an object oriented interpreted language that can be used to do
from the simplest things to the extremely powerfull. The fact that it is
interpreted means that it's really easy to "compile" or run aplication
without extensive knowledge.
In fact when I took my first look at the Python documentation, after a few
hours I was starting to play with code.

If you are interested in looking at game programming with Python take a look
at this site:

www.pygame.org

Regards:

Ricardo

I'm sorry for my bad English but it is not my primary language...
 
A

Aahz

Guess my question is, if it is possible to find a compiler that is fit
for amatures, one that an amature will not have to fight before it is
ready to use. One where you ,as when I learned programming , don't need
to be a compiler specialist before you even learn programming.

Python doesn't use a compiler per se; like Perl, it's an interpreted
language, similar to using a VisualBasic macro in Word (though without
the baggage of Word, of course). If you're using a Windows computer,
just download a copy of Python from http://www.python.org/

If you've got a Linux box, you probably already have Python available.
Try typing "python" at the shell prompt.

Either way, Python is popular among teenagers, and we've had several on
comp.lang.python, including one from the Netherlands. I'm assuming
he'll show up soon and offer to talk to your son directly. ;-)

You'll also want to take a look at
http://www.python.org/topics/learn/non-prog.html
--
Aahz ([email protected]) <*> http://www.pythoncraft.com/

"The joy of coding Python should be in seeing short, concise, readable
classes that express a lot of action in a small amount of clear code --
not in reams of trivial code that bores the reader to death." --GvR
 
D

djw

Steve said:
Python is an interpreted language, not a compiled one. So you don't need
to worry about compilers at all. This makes it a little easier to get
into than compiled languages. I thin python is a very good introduction
to someone who knows nothing about programming.

At the risk of making a lot of python fans angry, I would also suggest
that you look at java. This IS a compiled language (although ironically,
the compiled bytecode is interpreted). I suggest this for a few reasons:
* You cannot really avoid thinking in an object-oriented way when
writing java. I suspect that python will allow you to develop some very
nasyt habits.
* The java tutorial is massive, and has loads of examples.
* I have not seen anything like BlueJ for python. BlueJ is an excellent
beginners IDE with editor, debugger, and a UML-like diagram that shows
how your classes interconnect.

Better, learn a little of both languages.

Steve

Angry, no. But I don't think your advice is very sound. First, Python
"compiles" to bytecodes much the way Java does. If Java does anything
different, it is that it can employ a JIT compiler to speed up the
execution of the bytecodes. Second, I disagree that Python will make
someone develop "bad habits". Using object oriented programming is not
the end-all to all the world's problems. Java forces you into this model
at all times, Python doesn't. If anything, I think Java's view of the
world is flawed - sometimes objects aren't the answer to a programming
problem. For a beginner, having to do all your thinking in objects makes
learning the basics harder, in my view. Last, there are plenty of good
(if not great) editors for Python. Pushing an editor that includes
things as UML is not really very productive for a beginner, and it could
be argued it not even very useful for advanced programmers (if your
class hierarchy is s complex that you need (live) UML, you probably have
too complex of a design.) I do agree with your last sentiment, learn
lots of languages, Python, Java, C/C++, etc. and see which one(s) meets
your needs best.

-D
 
P

Paul Prescod

Steve said:
...

At the risk of making a lot of python fans angry, I would also suggest
that you look at java. This IS a compiled language (although ironically,
the compiled bytecode is interpreted).

Python and Java both compile to byte-code. The only difference is that
Python does it automatically whereas Java requires you to compile manually.

I suggest this for a few reasons:
* You cannot really avoid thinking in an object-oriented way when
writing java. I suspect that python will allow you to develop some very
nasyt habits.

I disagree that the opposite of object orientation is "nasty habits."
Forcing every problem into an object oriented paradigm is itself a nasty
(and ultimately confusing) habit.
* The java tutorial is massive, and has loads of examples.

Is it more massive than these:

* http://www.ibiblio.org/obp/thinkCSpy/
* http://diveintopython.org/
* http://www.mindview.net/Books/TIPython
* http://www.python.org/doc/current/tut/tut.html
* http://honors.montana.edu/~jjc/easytut/easytut/

And this one is specifically about game programming:

* http://pygame.org/docs/tut/chimp/ChimpLineByLine.html
* I have not seen anything like BlueJ for python. BlueJ is an excellent
beginners IDE with editor, debugger, and a UML-like diagram that shows
how your classes interconnect.

I haven't tried BlueJ so I can't compare but I don't think an IDE could
make up for Java's flaws as a learning language. "Hello world" in Java
is 7 lines compared to 1 in Python. The Python version has just two
concepts: printing and strings. The Java version brings in three
keywords (class, public, static) a module, an object, a function, two
types, etc.
Better, learn a little of both languages.

Can't disagree with that. Learn Python. Learn Pygame. Write your game.
Then learn Java to have something good to put on your resume.

Paul Prescod
 
K

Kurt B. Kaiser

Steve Horsley said:
At the risk of making a lot of python fans angry, I would also suggest
that you look at java. This IS a compiled language (although
ironically, the compiled bytecode is interpreted).

Same as Python.

Actually, difference between an interpreter and a compiler is pretty
blurred. Let's see: a compiler compiles to machine code which is
interpreted by the microcode engine in the processor etc. ad infinitum.
I suggest this for a few reasons: * You cannot really avoid thinking
in an object-oriented way when writing java.

This is not an advantage.
I suspect that python will allow you to develop some very nasyt
habits.

For example? Surely you don't mean programming in a functional style
when that is optimal as opposed to always using objects?
* The java tutorial is massive, and has loads of examples.

This is not an advantage. One of the features of Python is how simple
a relatively complete tutorial can be.
* I have not seen anything like BlueJ for python. BlueJ is an
excellent beginners IDE with editor, debugger, and a UML-like
diagram that shows how your classes interconnect.

This is pretty cool. It reminds me a lot of Python's IDLE in its
approach and target audience. BlueJ's debugger is slightly more
capable than IDLE's is, and IDLE doesn't have the UML representation
of classes (though there is Bicycle Repair Man) which is deeply
integrated into BlueJ.

I'll be looking more closely at this; thanks for the reference!
 
F

fBechmann

Getting a compiler environment running should be a minor task compared
with the complexity of programming in a modern 3D gaming engine, so that
should not be your biggest fear. And if you choose a 3D gaming engine
with a decent community there are tutorials how to get everything running.

I would start by thinking about what you/your son want to do:
1) starting 3D game development from scratch, e.g. based on OpenGL
2) using an existing 3D gaming engine and code your own stuff
3) using a complete gaming engine (like quake or UT) and doing some
mod(ification) development
4) joining the development team of a complete open source 3D game.

Then - for your selection - start seaching the net - if you did not
choose option 1) the result will quite probably answer your question,
because each existing "environment" brings its language/compiler with
it. Too make it more complicated some "environments" provide a
two-leveled architecture, where the "core" is mostly written in C or C++
and the "frame" is written e.g. in python, lua or some other "small"
language (but too my knowledge 3D games usually have - if at all -
propriatary languages for this like QuakeC, "normal" languages are more
typical for RPG); in this case you might choose your favorite
"environment" with respect to your favorite "frame" language.

Googling should bring you some interesting results, next to this good
places to start are:
- http://gaming.foundries.sourceforge.net/ (general gaming)
- http://3d.foundries.sourceforge.net/ (3D gaming)
- http://www.planetquake.com/code3arena/ (quake 3 coding)
 
S

Stefan Axelsson

Angry, no. But I don't think your advice is very sound. First, Python
"compiles" to bytecodes much the way Java does. If Java does anything
different, it is that it can employ a JIT compiler to speed up the
execution of the bytecodes.

And if you are on the i386 platform and download the Psyco
(http://psyco.sourceforge.net) 'JIT' compiler, that difference
vanishes also. And Psyco can actually profile first, then JIT, which
is beyond the Java JIT.

I've used it extensively for a wxPython based project and it works
like a charm, speeding up the 'algorithmic' sections of my code to the
point where I didn't have to consider dropping down to 'C' to get the
responsiveness I needed.

Check it out. I give it two thumbs up.

Stefan,
 
S

Steve Horsley

djw said:
Angry, no. But I don't think your advice is very sound. First, Python
"compiles" to bytecodes much the way Java does. If Java does anything
different, it is that it can employ a JIT compiler to speed up the
execution of the bytecodes. Second, I disagree that Python will make
someone develop "bad habits". Using object oriented programming is not
the end-all to all the world's problems. Java forces you into this model
at all times, Python doesn't. If anything, I think Java's view of the
world is flawed - sometimes objects aren't the answer to a programming
problem. For a beginner, having to do all your thinking in objects makes
learning the basics harder, in my view. Last, there are plenty of good
(if not great) editors for Python. Pushing an editor that includes
things as UML is not really very productive for a beginner, and it could
be argued it not even very useful for advanced programmers (if your
class hierarchy is s complex that you need (live) UML, you probably have
too complex of a design.) I do agree with your last sentiment, learn
lots of languages, Python, Java, C/C++, etc. and see which one(s) meets
your needs best.

-D

There _is_ a difference in the compilation. With java, you have to
compile to bytecode before trying to run the program. With python, you
just run the program. This is because the python interpreter accepts
text files, whereas the JVM doesn't. e.g.

Python:
edlin myprog.py
python myprog

java:
edlin myprog.java
javac myprog.java
jave myprog

As for not encouraging bad habits, I thought not until I came across a
34k python script where every variable was global and not one procedure
accepted any arguments or returned any values. I suspect that the only
chopping into procedures was to keep the text on the page. I now think
that a real beginner needs a better push in the right direction.

Steve
 
J

Jp Calderone

[snip]

There _is_ a difference in the compilation. With java, you have to
compile to bytecode before trying to run the program. With python, you
just run the program. This is because the python interpreter accepts
text files, whereas the JVM doesn't. e.g.

The difference is minimal. CPython merely knows how to invoke its own
compiler when compilation is necessary. Compilation still occurs, always,
before anything is executed. You could write a wrapper around java and
javac that, when given a .class file, ran it directly, and when given a
..java file, compiled it, then ran the resulting .class file. CPython is a
bit smarter than this (existing files, timestamps, etc), but these are minor
differences, not really worthy of note.

Jp
 
P

Peter Hansen

Josiah said:
Check out: http://pygame.org/

If your son is interested in making games, and you want him to learn
Python, I believe that link will help you.

I just wanted to take a "me too" type of moment to say that what little
I've seen in a brief investigation of Pygame has amazed me. The range
of possibilities is incredible, and some of the games produced so far are
very, very well done.

"Pathological" is a great example. A couple of days after I found it, it seems
a reviewer on Newsforge has found it as well, and among other things says "This
game is more addictive than caffeine, more fun than an election year, and more
frustrating than trying to find a real person to talk with behind the phone
company's evil voice mail system...." (See the link from the pygame.org site
for more.)

Looking forward to playing around with Pygame myself...
-Peter
 
P

Paul Prescod

Steve said:
Python:
edlin myprog.py
python myprog

java:
edlin myprog.java
javac myprog.java
jave myprog

So Python does two steps with one command and Java does not. Surely that
is an argument in favour of Python!
As for not encouraging bad habits, I thought not until I came across a
34k python script where every variable was global and not one procedure
accepted any arguments or returned any values. I suspect that the only
chopping into procedures was to keep the text on the page. I now think
that a real beginner needs a better push in the right direction.

If the programmer doesn't understand why this kind of programming is
bad, I expect that they will replicate it in Java with static variables
and static functions. Even in Java it takes extra effort to pass
parameters instead of referring to static variables.

But I think someone would have to do some usability testing to decide
this for real.

Paul Prescod
 
P

P.C.

Hi

I am still here, ----- thanks to those who ansvered , need to follow the
links before I return.

P.C.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top