i was reading/learning some hello world program in python.
I think its very simillar to Java/C++/C#. What's different (except
syntax) ?
what can i do easily with python which is not easy in c++/java !?
Tnx,
Raxit
www.mykavita.com
Yes, and all programs that people write typically look like the hello world
program.
Look at some real-world programs for a comparison, for example the Python
Cookbook: http://aspn.activestate.com/ASPN/Cookbook/Python/
> what can i do easily with python which is not easy in c++/java !?
- be productive in programming, rather than hassling with declaring all kind of
stuff first.
- skip compile step.
On the other hand, if you typically write hello world programs, don't bother.
You won't see the difference.
Sincerely,
Albert
Are you a newbie to Python, or to programming in general? I'll assume
you are a newbie to programming in general because of that last
question you asked. Things in Python are easier than in almost any
other programming language. Here are three Hello World programs:
--------------C++---------------------
#include <iostream.h>
main()
{
cout << "Hello World!";
return 0;
}
--------------------------------------
-------------Java---------------------
class HW {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
--------------------------------------
------------Python--------------------
print "Hello World!"
--------------------------------------
--------------C#----------------------
<I have no idea!>
--------------------------------------
I think you can clearly see which one is easiest. Of course, that
doesn't mean that the "easiest" language is always the "best"
language, although it is a strong point. But ease of use is just a one-
in-a-million characteristic of Python. If you're a total beginner, I'd
recommend you learning the one that attracts you the most.
well, it's similar in the sense that it is a programming language. So
you can say that assembly is similar to BASIC, but that both are
different from finnish, but from a programmer's point of view, they're
all rather different languages.
> what can i do easily with python which is not easy in c++/java !?
>
generally speaking python is said to be easier to pick up for a pletora
of reasons. technically speaking, it is not, for example, strongly
typed, nor it forces you to use a programming paradigm like object
oriented programming.
This means that if you just want to see your name printed on the screen
you can simply write:
print "raxit"
and get the work done. to understand it you just have to understand some
basics like what is a string and what is a statement.
in java, for example, it would look like:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("raxit");
}
}
in short, to obtain the same result (limited to this case) you have to
write 650% more code and you're forced to know what is a class, what
namespace means, what is a function (and arguments) and what are methods
and the dot notation and an array. not that you won't encounter all of
them learning python, but you're presented with all of them, all at
once, in the moment where you just want to write the simplest program.
that's why a typical java beginner's guide starts with ditto examples
and adds: "ignore everything for the moment". i hate when i have to
ignore things of a code that i'm writing!
the same applies to C# and, to a certain extend, C++ that is a much
older language and present different learning problems.
Now, what can you do with python? Virtually everything (network
programming, game programming, server side scripting). In most cases, it
would run slower than it would do with the other languages (even slower
than the slow java). You won't do drivers or kernels in python, but you
won't even code them in java or C#.
the programs you'll write will mostly run on a number of different
platform, like java programs. porting a c++ is a bit tougher. at the
moment there is project (mono) that is porting the .net platform (where
c# runs) to multiple platforms, but basically, if you write a c# program
you're programming for windows.
hope it helps
> Tnx,
> Raxit
> www.mykavita.com
One of the the tempting features of Python is that it is fun to code
in Python. If you are really trying to learn python, you should read
Adventures with Neko (http://gnuvision.com/books/pybook/) . It is an
introductory book on Python programming for school children by Mr.
Pramode CE.
It is fun for children (when I tried it, me too liked it) to do
programming with Neko, the cat. I am sure that it will be a fun filled
learning experience for you.
Regards,
Maxin B. John
using System;
namespace HelloWorld
{
Class HelloWorld
{
static void Main(String[] args)
{
Console.WriteLine("Hello World");
}
}
}
Programming in a pure duck typing style
http://en.wikipedia.org/wiki/Duck_typing
> Tnx,
> Raxit
> www.mykavita.com
> --
> http://mail.python.org/mailman/listinfo/python-list
>
--
Eduardo de Oliveira Padoan
http://www.advogato.org/person/eopadoan/
http://twitter.com/edcrypt
Bookmarks: http://del.icio.us/edcrypt
> Are you a newbie to Python, or to programming in general? I'll assume
> you are a newbie to programming in general because of that last
> question you asked. Things in Python are easier than in almost any
> other programming language. Here are three Hello World programs:
Counterexamples for quite short "greetings" in other programming languages:
(Free)BASIC::
Print "Hello World!"
OCaml::
print_string "Hello World!" ;;
Io::
"Hello World!" linePrint
Haskell::
main = putStrLn "Hello World!"
Ciao,
Marc 'BlackJack' Rintsch
freebasic is another language i'd point out to a newbie, even if it is
not as multiplatform as python if. it has a decent community and a large
amount of libraries. it doesn't let you explore functional or, worse,
object oriented programming nor you can write server side programs with it.
The others are examples of easy "hello world" languages, but, passed
that, i think they don't have the same capabilities of python on terms
of support, kind of programs you can write and even overall complexity
(haskell forces you to functional programming, io is really a minor
language, ocalm forces you to di OOP and, if writing hello world is
simple, on the other hand ir may have lines of code that read like:
| [] -> []
and that negatively compesate the easy way you can write "hello world"
> Marc 'BlackJack' Rintsch ha scritto:
>> On Thu, 08 May 2008 04:17:01 -0700, s0suk3 wrote:
>>
>>> Are you a newbie to Python, or to programming in general? I'll assume
>>> you are a newbie to programming in general because of that last
>>> question you asked. Things in Python are easier than in almost any
>>> other programming language. Here are three Hello World programs:
>>
>> Counterexamples for quite short "greetings" in other programming languages:
>>
>> (Free)BASIC::
>>
>> Print "Hello World!"
>
> freebasic is another language i'd point out to a newbie, even if it is
> not as multiplatform as python if. it has a decent community and a large
> amount of libraries. it doesn't let you explore functional or, worse,
> object oriented programming nor you can write server side programs with
> it.
OOP support is under development and why can't you write "server side
programs" in it? CGI is possible.
> The others are examples of easy "hello world" languages, but, passed
> that, i think they don't have the same capabilities of python on terms
> of support, kind of programs you can write and even overall complexity
> (haskell forces you to functional programming, io is really a minor
> language, ocalm forces you to di OOP and, if writing hello world is
> simple, on the other hand ir may have lines of code that read like:
>
> | [] -> []
Okay, Haskell's pure functional approach feels somewhat "weird".
Io is a minor language but a quite nice one IMHO. Simple syntax and
relatively simple semantics but very powerful.
OCaml doesn't enforce OOP. It's some kind of "mirror" of Python. Python
is an OOP language with support for functional programming, and OCaml is a
functional language with support for OOP.
The biggest pro for Python among the easy and clear syntax languages is
the standard library and the amount of third party modules.
Ciao,
Marc 'BlackJack' Rintsch
(Truly, when I found Python, programming became fun again.)
Gary Herron
> ocalm forces you to di OOP
Ocaml *allows* you to do OOP. It's very much an optional feature of
the language, just like for Python.
--
Arnaud
Err... You saw a Python helloworld and a Java helloworld and you found
them "very similar" ???
> What's different (except
> syntax) ?
dynamism (and not only wrt/ the type system), higher order functions,
closures, lazy evaluation... and fun.
> what can i do easily with python which is not easy in c++/java !?
Enjoy writing a working app focusing on the problem to solve instead of
wasting time writing boilerplate code and going thru hoops just to
satisfy the compiler.
You're confusing "strong" typing with static typing. Somewhat orthogonal
issues.
All the languages have similar "power", in a theoretical sense. If
you can solve a problem with one, most of the time you'll be able to
solve it with the other. So we could say that the languages are
"equal".
However, in practice, the syntax matters a lot. For example, they
will influence on the maintainability and the performance of your
application.
>
> what can i do easily with python which is not easy in c++/java !?
Pretty much everything. Python syntax is minimalist, so it requires
much less code. There are many examples in Wikipedia, for example:
http://en.wikipedia.org/wiki/User_datagram_protocol#Sample_code_.28Python.29
http://pt.wikipedia.org/wiki/Radix_sort#C.C3.B3digo_em_Java
http://en.wikipedia.org/wiki/Observer_pattern#Python
etc.
>
> Tnx,
> Raxitwww.mykavita.com
+1 QOTW
>(Truly, when I found Python, programming became fun again.)
"Again"? Looking back over the years, after I learned Python I realized
that I never really had enjoyed programming before.
--
Aahz (aa...@pythoncraft.com) <*> http://www.pythoncraft.com/
Help a hearing-impaired person: http://rule6.info/hearing.html