What's the fuss about Python?
-
Hackers seems to swear by languages like Python, Lisp and Ruby... what for? I have started learning Python just for the heck of it and quite frankly, I really don't see what's so great about it. The syntax is weird, doesn't follow standards and the fact that it is dynamic scripting makes it slow. It really reminds me of VBScript, but open source. It seems that any modern languages like Java, C#, C++ and even VB (6 or .NET) is a lot better than Python. Can anyone explain what I'm missing (if anything)? Carl Mercier Geek entrepreneurs, visit my blog! [^]
-
Hackers seems to swear by languages like Python, Lisp and Ruby... what for? I have started learning Python just for the heck of it and quite frankly, I really don't see what's so great about it. The syntax is weird, doesn't follow standards and the fact that it is dynamic scripting makes it slow. It really reminds me of VBScript, but open source. It seems that any modern languages like Java, C#, C++ and even VB (6 or .NET) is a lot better than Python. Can anyone explain what I'm missing (if anything)? Carl Mercier Geek entrepreneurs, visit my blog! [^]
I completely agree... i come from a background in Perl and while I grew fond of Perl, it pales in comparison to the environment and "cleanness" of c# and the other .NET languages. Sometimes it is really cool to be able to "compile and run on the fly" but I think something like VBScript or C#Script would be a better idea...
Microsoft makes Digital Photos fun with Photo Story 3 and its free. | Windows Vista Forums
-
Hackers seems to swear by languages like Python, Lisp and Ruby... what for? I have started learning Python just for the heck of it and quite frankly, I really don't see what's so great about it. The syntax is weird, doesn't follow standards and the fact that it is dynamic scripting makes it slow. It really reminds me of VBScript, but open source. It seems that any modern languages like Java, C#, C++ and even VB (6 or .NET) is a lot better than Python. Can anyone explain what I'm missing (if anything)? Carl Mercier Geek entrepreneurs, visit my blog! [^]
I tend to agree with you but there are a few scenarios where it may make sense to choose a Python as your development language: -While I dont think it is a terribly big plus (depending on what you are developing) one reason to consider Python would be for running your application on multiple platforms (windows/linux, etc.). -The interpretive nature of Python allows you construct executable (interpreted) code on the fly more easily than .Net. -It is (to the best of my knowledge largely immune to buffer overrun attacks.. dont quote me) and makes it useful for game development in creating/scripting Mods (for example: CivIV uses Python extensively for Mod scripting) -It is free and there is a large array of IDE's for Python, so it is good option for those that cant afford Visual Studio or other professional IDE's or for those just starting out with development. (...and yes... I know that Java and .Net framework are also technically free but (for whatever reason) few seem to use them that way). -Small footprint (seemingly largely irrelevant today) -Richness of Regular Expression support -Its fun to experiment with something different for a while. Keep in mind that for every good reason to use Python there is, without a doubt, just as many reasons NOT to use Python. Oh yes, and weirdness of syntax is purely a relative situation.. long time Python programmers would probably consider C# syntax as weird. The real question to ask is "does it work", and it does. David
-
Hackers seems to swear by languages like Python, Lisp and Ruby... what for? I have started learning Python just for the heck of it and quite frankly, I really don't see what's so great about it. The syntax is weird, doesn't follow standards and the fact that it is dynamic scripting makes it slow. It really reminds me of VBScript, but open source. It seems that any modern languages like Java, C#, C++ and even VB (6 or .NET) is a lot better than Python. Can anyone explain what I'm missing (if anything)? Carl Mercier Geek entrepreneurs, visit my blog! [^]
Carl Mercier wrote:
Can anyone explain what I'm missing (if anything)?
If you don't need it, you don't need it. My grandma can peal apples faster with a paring knife than i can with a pealer. But not all of us have been using paring knives... or C#... for three-quarters of a century. I generally rely on scripting languages to handle code that is very much in flux - the design is changing constantly, major changes might be added or thrown out over the course of a day. Once the design is stable and constraints are known, i can re-code in C++ or C# if necessary. Don't discount the advantage of not having to re-compile in order to test changes - when you can sit down with a group of people and code up and demonstrate changes to a UI while you're debating those changes, you can drastically reduce the time spent doing so.
Ave Shog9, CP-addicti te salutant! - K(arl), The Soapbox
-
I tend to agree with you but there are a few scenarios where it may make sense to choose a Python as your development language: -While I dont think it is a terribly big plus (depending on what you are developing) one reason to consider Python would be for running your application on multiple platforms (windows/linux, etc.). -The interpretive nature of Python allows you construct executable (interpreted) code on the fly more easily than .Net. -It is (to the best of my knowledge largely immune to buffer overrun attacks.. dont quote me) and makes it useful for game development in creating/scripting Mods (for example: CivIV uses Python extensively for Mod scripting) -It is free and there is a large array of IDE's for Python, so it is good option for those that cant afford Visual Studio or other professional IDE's or for those just starting out with development. (...and yes... I know that Java and .Net framework are also technically free but (for whatever reason) few seem to use them that way). -Small footprint (seemingly largely irrelevant today) -Richness of Regular Expression support -Its fun to experiment with something different for a while. Keep in mind that for every good reason to use Python there is, without a doubt, just as many reasons NOT to use Python. Oh yes, and weirdness of syntax is purely a relative situation.. long time Python programmers would probably consider C# syntax as weird. The real question to ask is "does it work", and it does. David
Orcrist wrote:
-While I dont think it is a terribly big plus (depending on what you are developing) one reason to consider Python would be for running your application on multiple platforms (windows/linux, etc.).
Heard of Mono?
Orcrist wrote:
-The interpretive nature of Python allows you construct executable (interpreted) code on the fly more easily than .Net.
.NET can do that too... I've seen a few articles about that on this site
Orcrist wrote:
-It is free and there is a large array of IDE's for Python, so it is good option for those that cant afford Visual Studio or other professional IDE's
SharpDevelop/MonoDevelop, and new Microsoft's Express products... You pretty much convinced me... Python might not be for me :) Carl Mercier Geek entrepreneurs, visit my blog! [^]
-
Hackers seems to swear by languages like Python, Lisp and Ruby... what for? I have started learning Python just for the heck of it and quite frankly, I really don't see what's so great about it. The syntax is weird, doesn't follow standards and the fact that it is dynamic scripting makes it slow. It really reminds me of VBScript, but open source. It seems that any modern languages like Java, C#, C++ and even VB (6 or .NET) is a lot better than Python. Can anyone explain what I'm missing (if anything)? Carl Mercier Geek entrepreneurs, visit my blog! [^]
Momentum. People hate adopting new technologies and have to be dragged kicking and screaming into them. For some reason software developers are worse than most as evidenced by the long and ongoing bitchfest from c++ users about c#. There is no logic to it, just plain old stubbornness.
"Hello, hello, what's all this shouting, we'll have no trouble here! This is a Local Shop for Local People, there's nothing for you here!" -Edward Tattsyrup
-
Carl Mercier wrote:
Can anyone explain what I'm missing (if anything)?
If you don't need it, you don't need it. My grandma can peal apples faster with a paring knife than i can with a pealer. But not all of us have been using paring knives... or C#... for three-quarters of a century. I generally rely on scripting languages to handle code that is very much in flux - the design is changing constantly, major changes might be added or thrown out over the course of a day. Once the design is stable and constraints are known, i can re-code in C++ or C# if necessary. Don't discount the advantage of not having to re-compile in order to test changes - when you can sit down with a group of people and code up and demonstrate changes to a UI while you're debating those changes, you can drastically reduce the time spent doing so.
Ave Shog9, CP-addicti te salutant! - K(arl), The Soapbox
> Don't discount the advantage of not having to re-compile in order to test changes - when you can sit down with a group of people and code up and demonstrate changes to a UI while you're debating those changes, you can drastically reduce the time spent doing so. With a markup language, you could be at the beach playing volley ball by the time you'd normally be halfway through the debate. ;) -- Pictures[^] from my Japan trip.
-
Orcrist wrote:
-While I dont think it is a terribly big plus (depending on what you are developing) one reason to consider Python would be for running your application on multiple platforms (windows/linux, etc.).
Heard of Mono?
Orcrist wrote:
-The interpretive nature of Python allows you construct executable (interpreted) code on the fly more easily than .Net.
.NET can do that too... I've seen a few articles about that on this site
Orcrist wrote:
-It is free and there is a large array of IDE's for Python, so it is good option for those that cant afford Visual Studio or other professional IDE's
SharpDevelop/MonoDevelop, and new Microsoft's Express products... You pretty much convinced me... Python might not be for me :) Carl Mercier Geek entrepreneurs, visit my blog! [^]
Carl Mercier wrote:
Heard of Mono?
Yup. sure have. tried it once too, albeit many months ago. At that time it was not ready for prime-time. Perhaps it is now. However in either case you require a significant download for the frameworks that would need to be distributed with your application. For a large application distributing the framework is not really a big deal. For a small script it can be a pain to apply and justify (a 100K applet requiring a 23Meg framework download)
Carl Mercier wrote:
.NET can do that too... I've seen a few articles about that on this site
Likewise, but note that I indicated 'Easily'. The closest I have seen with a .Net based language is CS-Script ()[^]
Carl Mercier wrote:
SharpDevelop/MonoDevelop, and new Microsoft's Express products...
No knock on any of those applications. All have their strengths and weaknesses. As noted earlier I am in basic agreement with you, You asked for reasons. I gave you some. :-) Some reasons will apply in some cases and not others. Quite situational. Python is a tool and some tools are better for some types of work than others. Python's role as a tool though, I agree, is being marginalized as time goes by, as some of its strengths are being adapted to the .Net framework. Cheers, David
-
Carl Mercier wrote:
Heard of Mono?
Yup. sure have. tried it once too, albeit many months ago. At that time it was not ready for prime-time. Perhaps it is now. However in either case you require a significant download for the frameworks that would need to be distributed with your application. For a large application distributing the framework is not really a big deal. For a small script it can be a pain to apply and justify (a 100K applet requiring a 23Meg framework download)
Carl Mercier wrote:
.NET can do that too... I've seen a few articles about that on this site
Likewise, but note that I indicated 'Easily'. The closest I have seen with a .Net based language is CS-Script ()[^]
Carl Mercier wrote:
SharpDevelop/MonoDevelop, and new Microsoft's Express products...
No knock on any of those applications. All have their strengths and weaknesses. As noted earlier I am in basic agreement with you, You asked for reasons. I gave you some. :-) Some reasons will apply in some cases and not others. Quite situational. Python is a tool and some tools are better for some types of work than others. Python's role as a tool though, I agree, is being marginalized as time goes by, as some of its strengths are being adapted to the .Net framework. Cheers, David
Orcrist wrote:
As noted earlier I am in basic agreement with you, You asked for reasons. I gave you some.
I just wanted to hear "BECAUSE THEY JUST HATE MICROSOFT!" :laugh::laugh::laugh: Carl Mercier Geek entrepreneurs, visit my blog! [^]
-
Orcrist wrote:
As noted earlier I am in basic agreement with you, You asked for reasons. I gave you some.
I just wanted to hear "BECAUSE THEY JUST HATE MICROSOFT!" :laugh::laugh::laugh: Carl Mercier Geek entrepreneurs, visit my blog! [^]
-
Hackers seems to swear by languages like Python, Lisp and Ruby... what for? I have started learning Python just for the heck of it and quite frankly, I really don't see what's so great about it. The syntax is weird, doesn't follow standards and the fact that it is dynamic scripting makes it slow. It really reminds me of VBScript, but open source. It seems that any modern languages like Java, C#, C++ and even VB (6 or .NET) is a lot better than Python. Can anyone explain what I'm missing (if anything)? Carl Mercier Geek entrepreneurs, visit my blog! [^]
Scripting is still usefull, but it depends on your needs. I think one of the most usefull usages of scripts is to extend an application's functionality. This has the following advantages: - Saves money by not having to purchase IDEs for all of your scripters. - Can add/modify features in an app without a recompile. Nice to have for a large project that takes forever to compile. - Allows you, customers, and/or 3rd parties to extend your app after it has been released. Need an example? Check out Visual Studio .NET. It uses java scripts to generate projects, classes, etc. Have a look under each language folder, such as "...\VC#\VC#Wizards". There are a lot of *.js files in there.
-
Scripting is still usefull, but it depends on your needs. I think one of the most usefull usages of scripts is to extend an application's functionality. This has the following advantages: - Saves money by not having to purchase IDEs for all of your scripters. - Can add/modify features in an app without a recompile. Nice to have for a large project that takes forever to compile. - Allows you, customers, and/or 3rd parties to extend your app after it has been released. Need an example? Check out Visual Studio .NET. It uses java scripts to generate projects, classes, etc. Have a look under each language folder, such as "...\VC#\VC#Wizards". There are a lot of *.js files in there.
You have a point here. Scripting is still useful. However, I don't see the interest of coding in Python and releasing the application as an EXE file. Carl Mercier Geek entrepreneurs, visit my blog! [^]
-
You have a point here. Scripting is still useful. However, I don't see the interest of coding in Python and releasing the application as an EXE file. Carl Mercier Geek entrepreneurs, visit my blog! [^]
Carl Mercier wrote:
I don't see the interest of coding in Python and releasing the application as an EXE file.
Agreed. It doesn't seem practical to release it as an EXE to me either.
-
Hackers seems to swear by languages like Python, Lisp and Ruby... what for? I have started learning Python just for the heck of it and quite frankly, I really don't see what's so great about it. The syntax is weird, doesn't follow standards and the fact that it is dynamic scripting makes it slow. It really reminds me of VBScript, but open source. It seems that any modern languages like Java, C#, C++ and even VB (6 or .NET) is a lot better than Python. Can anyone explain what I'm missing (if anything)? Carl Mercier Geek entrepreneurs, visit my blog! [^]
I got as far as the lack of namespaces and stopped.. May have missed out on some things, but do not have a lot of time to just throw away. Rocky <>< Latest Post: Time for change! Blog: www.RockyMoore.com/TheCoder/[^]
-
> Don't discount the advantage of not having to re-compile in order to test changes - when you can sit down with a group of people and code up and demonstrate changes to a UI while you're debating those changes, you can drastically reduce the time spent doing so. With a markup language, you could be at the beach playing volley ball by the time you'd normally be halfway through the debate. ;) -- Pictures[^] from my Japan trip.
This is why i've moved more and more to XSL-generated HTML+JS UIs. Just finished re-writing a moderately simple view, one that 'till Friday had used an aging grid component. I'd gone in to change the colors and layout a bit, and an hour in realized that i could code the whole thing from scratch in less time than it'd take me to hack the grid into something useable.
-
Hackers seems to swear by languages like Python, Lisp and Ruby... what for? I have started learning Python just for the heck of it and quite frankly, I really don't see what's so great about it. The syntax is weird, doesn't follow standards and the fact that it is dynamic scripting makes it slow. It really reminds me of VBScript, but open source. It seems that any modern languages like Java, C#, C++ and even VB (6 or .NET) is a lot better than Python. Can anyone explain what I'm missing (if anything)? Carl Mercier Geek entrepreneurs, visit my blog! [^]
Carl Mercier wrote:
I have started learning Python just for the heck of it
Me too, and I found the language itself to be interesting, particularly things like list comprehension, lambda expressions and Duck Typing[^]. The else clause for for loops is cool too, it saves the trouble of creating a boolean variable just for the sake of finding out if the loop ran to completion. Regards Senthil _____________________________ My Blog | My Articles | WinMacro