As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am evaluating options for a scripting language to embed at my company.
We mostly make indie games, and we use managed frameworks (Unity and XNA). This means that we need a solution that works with both Mono and .Net, and we'd rather avoid stuff that is too slow.
The possibilities we are considering are the following:
python
lua
F#
The features we require are:
continuations/coroutines
decent performance
integration with Mono and .Net (compatible type systems)
[optional]. ease of extensibility to add new combinators such as multithreaded coroutines
[optional]. easy bindings
I know for certain that I can achieve all requirements in F# with a custom-built monad (I have several working prototypes which are ending in a few products) but I would gladly jump to another solution if it is proven to be better!
As you're using .net anyway, any of the .net languages might allow you the easiest implementations. From a learning perspective etc. I'd prefer Lua any time due to it's rather simple basic constructs and syntax rules.
I have a weird-er suggestion for you. How about using C# or VB.NET?
You can dynamically compile scripts and save the assemblies. This way you get minimum loading time.
You can also register them in the GAC and have no worry!
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have been learning online lot of programming stuff these days using online sites like Udacity, Coursera, Khan Academy etc. I see most of them offer understanding of programming, understanding of Web, or several other things through python as a example language. I also learned about google app engine and found python as one of the language other than java that is supported. It is actually surprising that other popular languages or i should say more familiar languages like java, php etc are not finding their place in this category. I am asking this question as i code and understand php and java. But to go thorough these online classes i need to build an understanding of python as well. So i want to understand if learning python and its entire set of features will be useful and what in python inspires online education site as their preferred language.
There are many reasons for why Python is so popular:
It is easy to learn
It has a very clean syntax
It is good for scientific computations
It can do many things, from desktop application to web programming
It is available on most *nix systems by default
It is available on many operating systems (Linux, Mac OS, Windows, ...)
It can be used together with C.
This list can go on and on ... .
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I've been programming for a few months now and have a few small programs I've done (https://github.com/jlegs). A veteran programmer who is a friend suggested to a company that was looking for Python coders that they take a look at me. So I went in to meet them today. They wanted to see more complex programs from me to show that I was on a more intermediate level.
So a question: What kind of projects would you folks say would be on par for intermediate level programmers?
Plenty of well written questions and answers on StackOverflow would go a long way towards convincing me of both your ability to think critically and to communicate with a team.
Companies in my time were happy if you could recreate a couple of dozen Unix command line filters. Nowadays that is not enough. Cross platform scripting in multiple languages is the name of the game. SQL, php, Java and various flavors of C are often seen. An applicant is expected to be conversant in everything from lambda expressions and iterators to complex regexes and html parsers. Rather than jump in to studying all these things however, you should know the things you do know really well and be able to discuss them, in depth, with the interviewer.
If I were to set out an ultimate task list, it would be to code samples of the patterns in this page . When doing these don't limit yourself to Python, if a call to a DB works then do that, if a call to command line utility satisfies the pattern then do that. It's not the complexity of the code but your understanding of how the code implements the pattern and the clarity of the interface definition that is the seller.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I need to create 2 level web-system. I choose Python as my tool.
I want use PyQt to develop 1st level: TCP/IP-server, and Django as 2nd level: Data visualization through Ajax(Front-End). System sketch on picture:
http://i.stack.imgur.com/pprv9.jpg
1st level will "chat" with about 1000 objects. And web-app with about 200 people.
Is it right way to use Python, Django and PyQt? Or may be there is better architecture solution?
While PyQt's networking module provides tools for writing TCP servers, I'm not sure you really need that dependency, since TCP servers can be written just in Python using only the standard library, and in fact Python already comes with a simple HTTP server built-in (and so does Django, by the way).
I have nothing against PyQt (quite the contrary, I like it a lot), but mixing its programming model and idioms into a Python program has to be done for a reason, and a network server isn't IMHO a good enough reason. If you want a GUI, then sure. But for a network server, just stick with Python, which has some incredibly powerful libraries of its own for writing servers, the foremost being Twisted, which you should definitely check out.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am still kind of new to programming and after playing around with a lot of languages trying to find which one worked best for me I stumbled across python and have been doing really well with it.
The only problem/concern I have is that I do not mainly want to do web development. I want to create desktop apps with nice GUis as well. Unlike most other programming languages that I have dabbled in python doesn't seem to have one definitive ide for this sort of thing which kind of sucks imo, especially since it's such a cool language.
I've searched and found quite a few IDEs that include GUI designers with code editing as well but I can't decide which one to use. Of those I am interested in the following
BlackAdder - http://www.thekompany.com/products/blackadder/
Pythoncard - http://pythoncard.sourceforge.net/
Boa Constructor - http://boa-constructor.sourceforge.net/
SPE - http://pythonide.blogspot.com/
Dabo (is it even an ide?) - http://dabodev.com/
Eric IDE - http://eric-ide.python-projects.org/index.html
Xrope - http://xrope.sourceforge.net/
I am not looking for opinions on which one is the "best" or anyone's favorite. I want to know which one is the most widely used and which one I would be able to find the most documentation on and get the most user support from whether it be via forums, here, community, etc..
P.S. If anyone cares to post any links to some documentation/tutorials with their answer it would be greatly appreciated.
P.P.S. Does anyone know if there are any plans for a larger company maybe thinking of creating a full fledged ide comparable to Delphi, Visual Studio for python in the foreseeable future? Would make things a lot easier IMO.
Thanks..
You can use Visual Studio to build IronPython GUI applications as well: http://msdn.microsoft.com/en-us/library/bb165375(v=vs.80).aspx
EDIT: You can now use pytools (http://pytools.codeplex.com/) to develop non-IronPython apps in VisualStudio.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
I have always wondered about this and seen this among lots of programmers. Why is a VB programmer or VB code easily dismissed as too noobish and easy while the same does not apply to Python or Python code? After all, isn't Python as easy as VB is? And it does provide drag-n-drop GUI application building also. So why is it that VB is flamed and yet Python is not?
I am just wondering out of curiosity.
VB is flamed less for being easy than for the population of programmers who use it. VB is perceived as being for people one step up from writing Excel macros, often in in-house corporate environments, churning out crapware. Being a Microsoft product doesn't help.
VB is also seen as being the low-end language in the Microsoft ecosystem, with an ad-hoc design.
Python, on the other hand is open source, and cool because it is used in scientific applications, web startups, etc.
I'm not defending these positions, just giving you the perspective I've seen. As others have said, language wars are usually pointless. Occasionally you'll get a discussion that will truly touch on interesting differences between languages, but usually not.