954,546 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Is it too late to learn Python

I am new to programming and after a month or so of googling, I have decided to learn Python. Is this a good time to learn the language or people will soon jump ship since JAVA is now open source? By open source software, I understand that the code developed freely and more people have access. Am I right?

fongoos
Newbie Poster
3 posts since Mar 2008
Reputation Points: 10
Solved Threads: 0
 

Python is a language that I personally have had no real experiance with but I understand is very popular in the open source world. Python and C appear to be the current choice for majority of open source developers, therefor you should have no shortage of projects to work on or great open source libarys to use. Java does not support as many open source libarys as python and I dare say will not anytime in the near future.

It appears that python is a really good beginner language and also quite good for quickly creating code.

Paul.Esson
Junior Poster
181 posts since Feb 2005
Reputation Points: 21
Solved Threads: 10
 

I also don't see people jumping ship to support Java. I feel community development will be quite strong with python and Java will have alot more commertial development ( organizations that wish to create open source projects. )

Paul.Esson
Junior Poster
181 posts since Feb 2005
Reputation Points: 21
Solved Threads: 10
 

it's never too late to learn python :)
awesome language, you'll pick it up quick and it beats VB (in my opinion)

a1eio
Junior Poster
141 posts since Aug 2005
Reputation Points: 26
Solved Threads: 25
 

A lot of programmers use both Java and Python. Python has the advantage of a much more rapid learning and program development phase. So I would learn Python first. Once you learn Python you can access Java libaries easily with Jython, also open source.

sneekula
Nearly a Posting Maven
2,427 posts since Oct 2006
Reputation Points: 961
Solved Threads: 212
 

Python is one of the best languages I have ever used, after trying C, C++, Java, Ruby, and Perl. It's good for full-applications as well as small scripts.

linux
Posting Shark
933 posts since Aug 2006
Reputation Points: 118
Solved Threads: 30
 

Look at the syntax of Java and Python. Which one would you rather use?

ZZucker
Master Poster
702 posts since Jan 2008
Reputation Points: 327
Solved Threads: 46
 

If I would have to write an office suite to compete with Microsoft's Office, I would use Java, as has been successfully done with "Open Office". For projects that are less gigantic, and I need to develop quickly, I would use Python.

vegaseat
DaniWeb's Hypocrite
Moderator
5,989 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,417
 
If I would have to write an office suite to compete with Microsoft's Office, I would use Java, as has been successfully done with "Open Office". For projects that are less gigantic, and I need to develop quickly, I would use Python.


Using OpenOffice.org as an example, you're right. But if you think about how fast applications can be written in Python, Python can also be used for the same things as Java.

I find Python a lot *cleaner*. Meaning, the JDK is blatently THERE. And you can easily tell when an application is written in Java. In Python, you can hide what the language in (but why would you want to, good point).

Also, you only have to run one command to run a Python script/application. Whereas with Java, you need three hundred million tools. What is it, like javac, javah etc?

I'd use Java, if they had one thing. Like, java JavaApp.java instead of three thousand.

Like, currently, I'm writing an application in Python similar to FL Studio. I mean, yeah, C++, C, Java, etc. maybe more efficient (by far) for a media-creation application, but Python is what I know and have for a tool.

I mean, if you have a pen, write in pen. If you have a pencil, write in pencil. If you know Java, use Java. If you know Python, use Python.

Personally, I find the syntax, set up, and workspace and running environment of Python to be far superior to that of Java.

linux
Posting Shark
933 posts since Aug 2006
Reputation Points: 118
Solved Threads: 30
 

pythin is used extensively for the AI in stragey games, so will continue to be used in that industry for a long time

jbennet
Moderator
Moderator
18,523 posts since Apr 2005
Reputation Points: 1,826
Solved Threads: 601
 

Compared to Java, Python has simplified a lot of the syntax. It will spoil you, and you may actually have fun.

bumsfeld
Nearly a Posting Virtuoso
1,445 posts since Jul 2005
Reputation Points: 404
Solved Threads: 184
 

The proof is in the pudding. Take a small project like creating a monthly calendar and try to do it with Java and then with Python.

Ene Uran
Posting Virtuoso
1,723 posts since Aug 2005
Reputation Points: 625
Solved Threads: 213
 
Look at the syntax of Java and Python. Which one would you rather use?

In that case Java.

Only reason I have never tryed Python is because of the syntax. I feel that is far removed from everything else. Switching from C++ to C to Java to C# is simple, The syntax in the languages are very similar, But that may just be me.

Paul.Esson
Junior Poster
181 posts since Feb 2005
Reputation Points: 21
Solved Threads: 10
 

python has defiantly spioled me!

i hate the look of other languages even tho i'd love to learn them.. whenever i try.. i end up going back to python just cause it's so much clearer and quicker to make things.

i just wish it was a bit easier to create standalone programs that don't need the interpreter running. (i've tried py2exe but i just can't get my head round it)

a1eio
Junior Poster
141 posts since Aug 2005
Reputation Points: 26
Solved Threads: 25
 

Okay Paul, in your case you use what you are familiar with.

Here is a little Python code, that I have asked people to write in C++, C, Java or C# ...

a = 111111111   # that's nine ones
print a * a     # 12345678987654321


If it's late in the day and counting off nine ones is difficult you can use a = int('1'*9)

vegaseat
DaniWeb's Hypocrite
Moderator
5,989 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,417
 

hehe, nicely put vega, i totally forgot about that beautiful aspect of python

a1eio
Junior Poster
141 posts since Aug 2005
Reputation Points: 26
Solved Threads: 25
 

The thing about Python that I find more appealing than C, C++, Java, etc. is how you really don't need that many modules to do heavy things. You also aren't required to declare classes and functions to write a simple program.

linux
Posting Shark
933 posts since Aug 2006
Reputation Points: 118
Solved Threads: 30
 

That scares me a little, How does one implement a rotating counter in python ?

class Program
	{
		public static void Main(string[] args)
		{
			ulong a = 111111111; // Thats 9 1's
			System.Console.WriteLine((a * a));
		}
	}


using C++ and .net

using namespace System;

int main(array<System::String ^> ^args)
{
	Int64 a = 111111111;
    Console::WriteLine( Int64(a * a) );
    return 0;
}
//Don't have a java compiler but would be somthing along the lines of 
long a = 111111111;
System.out.println( (a * a).toString());
Paul.Esson
Junior Poster
181 posts since Feb 2005
Reputation Points: 21
Solved Threads: 10
 

sorry and in C

#include <stdio.h>
int main(){
	long long a = 111111111;
	printf("%lld", a * a );
	return 0;
}
Paul.Esson
Junior Poster
181 posts since Feb 2005
Reputation Points: 21
Solved Threads: 10
 

Thanks for the samples of C, C++, C# and Java they make Python code look alarmingly simple.

Paul, what C++ compiler are you using?
The open source g++ gives me lots of errors:

Compiler: Default compiler Building Makefile: "C:\Dev-Cpp\AtestCON\NineOnes1\Makefile.win" Executing make... make.exe -f "C:\Dev-Cpp\testCON\NineOnes1\Makefile.win" all g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include"

main.cpp:1: error: expected namespace-name before ';' token

main.cpp:1: error: `' is not a namespace main.cpp:3: error: `array' was not declared in this scope main.cpp:3: error: `System' has not been declared main.cpp:3: error: `String' was not declared in this scope

main.cpp:3: error: expected primary-expression before '>' token main.cpp:3: error: expected primary-expression before '^' token main.cpp:3: error: `args' was not declared in this scope main.cpp:4: error: expected `,' or `;' before '{' token

make.exe: *** [main.o] Error 1

Execution terminated


Do you really think that this C++ code:

using namespace System;

int main(array<System::String ^> ^args)
{
	Int64 a = 111111111;
    Console::WriteLine( Int64(a * a) );
    return 0;
}


is easier to understand than Python:

a = 111111111
print a * a
ZZucker
Master Poster
702 posts since Jan 2008
Reputation Points: 327
Solved Threads: 46
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You