Python makes Anaconda looks a stunted animal
Python is big, long and makes Anaconda looks stunted animal.
It is Linux based and it can be used for gaming.
Its object oriented platform makes Microsoft VB a non entity in programming, if not games.
Reproduction
What is Python?
Executive Summary
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built in data structures, combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which encourages program modularity and code reuse. The Python interpreter and the extensive standard library are available in source or binary form without charge for all major platforms, and can be freely distributed.
Often, programmers fall in love with Python because of the increased productivity it provides. Since there is no compilation step, the edit-test-debug cycle is incredibly fast. Debugging Python programs is easy: a bug or bad input will never cause a segmentation fault. Instead, when the interpreter discovers an error, it raises an exception. When the program doesn't catch the exception, the interpreter prints a stack trace. A source level debugger allows inspection of local and global variables, evaluation of arbitrary expressions, setting breakpoints, stepping through the code a line at a time, and so on. The debugger is written in Python itself, testifying to Python's introspective power. On the other hand, often the quickest way to debug a program is to add a few print statements to the source: the fast edit-test-debug cycle makes this simple approach very effective.
Comparing Python to Other Languages
Disclaimer: This essay was written sometime in 1997.
It shows its age. It is retained here merely as a historical artifact. --Guido van Rossum
Python is often compared to other interpreted languages such as Java, JavaScript, Perl, Tcl, or Smalltalk. Comparisons to C++, Common Lisp and Scheme can also be enlightening. In this section I will briefly compare Python to each of these languages. These comparisons concentrate on language issues only. In practice, the choice of a programming language is often dictated by other real-world constraints such as cost, availability, training, and prior investment, or even emotional attachment. Since these aspects are highly variable, it seems a waste of time to consider them much for this comparison.
Java
Python programs are generally expected to run slower than Java programs, but they also take much less time to develop. Python programs are typically 3-5 times shorter than equivalent Java programs. This difference can be attributed to Python's built-in high-level data types and its dynamic typing. For example, a Python programmer wastes no time declaring the types of arguments or variables, and Python's powerful polymorphic list and dictionary types, for which rich syntactic support is built straight into the language, find a use in almost every Python program. Because of the run-time typing, Python's run time must work harder than Java's. For example, when evaluating the expression a+b, it must first inspect the objects a and b to find out their type, which is not known at compile time. It then invokes the appropriate addition operation, which may be an overloaded user-defined method. Java, on the other hand, can perform an efficient integer or floating point addition, but requires variable declarations for a and b, and does not allow overloading of the + operator for instances of user-defined classes.
For these reasons, Python is much better suited as a "glue" language, while Java is better characterized as a low-level implementation language. In fact, the two together make an excellent combination. Components can be developed in Java and combined to form applications in Python; Python can also be used to prototype components until their design can be "hardened" in a Java implementation. To support this type of development, a Python implementation written in Java is under development, which allows calling Python code from Java and vice versa. In this implementation, Python source code is translated to Java bytecode (with help from a run-time library to support Python's dynamic semantics).
Javascript
Python's "object-based" subset is roughly equivalent to JavaScript. Like JavaScript (and unlike Java), Python supports a programming style that uses simple functions and variables without engaging in class definitions. However, for JavaScript, that's all there is. Python, on the other hand, supports writing much larger programs and better code reuse through a true object-oriented programming style, where classes and inheritance play an important role.
Perl
Python and Perl come from a similar background (Unix scripting, which both have long outgrown), and sport many similar features, but have a different philosophy. Perl emphasizes support for common application-oriented tasks, e.g. by having built-in regular expressions, file scanning and report generating features. Python emphasizes support for common programming methodologies such as data structure design and object-oriented programming, and encourages programmers to write readable (and thus maintainable) code by providing an elegant but not overly cryptic notation. As a consequence, Python comes close to Perl but rarely beats it in its original application domain; however Python has an applicability well beyond Perl's niche.
Tcl
Like Python, Tcl is usable as an application extension language, as well as a stand-alone programming language. However, Tcl, which traditionally stores all data as strings, is weak on data structures, and executes typical code much slower than Python. Tcl also lacks features needed for writing large programs, such as modular namespaces. Thus, while a "typical" large application using Tcl usually contains Tcl extensions written in C or C++ that are specific to that application, an equivalent Python application can often be written in "pure Python". Of course, pure Python development is much quicker than having to write and debug a C or C++ component. It has been said that Tcl's one redeeming quality is the Tk toolkit. Python has adopted an interface to Tk as its standard GUI component library.
Tcl 8.0 addresses the speed issuse by providing a bytecode compiler with limited data type support, and adds namespaces. However, it is still a much more cumbersome programming language.
Smalltalk
Perhaps the biggest difference between Python and Smalltalk is Python's more "mainstream" syntax, which gives it a leg up on programmer training. Like Smalltalk, Python has dynamic typing and binding, and everything in Python is an object. However, Python distinguishes built-in object types from user-defined classes, and currently doesn't allow inheritance from built-in types. Smalltalk's standard library of collection data types is more refined, while Python's library has more facilities for dealing with Internet and WWW realities such as email, HTML and FTP.
Python has a different philosophy regarding the development environment and distribution of code. Where Smalltalk traditionally has a monolithic "system image" which comprises both the environment and the user's program, Python stores both standard modules and user modules in individual files which can easily be rearranged or distributed outside the system. One consequence is that there is more than one option for attaching a Graphical User Interface (GUI) to a Python program, since the GUI is not built into the system.
C++
Almost everything said for Java also applies for C++, just more so: where Python code is typically 3-5 times shorter than equivalent Java code, it is often 5-10 times shorter than equivalent C++ code! Anecdotal evidence suggests that one Python programmer can finish in two months what two C++ programmers can't complete in a year. Python shines as a glue language, used to combine components written in C++.
Common Lisp and Scheme
These languages are close to Python in their dynamic semantics, but so different in their approach to syntax that a comparison becomes almost a religious argument: is Lisp's lack of syntax an advantage or a disadvantage? It should be noted that Python has introspective capabilities similar to those of Lisp, and Python programs can construct and execute program fragments on the fly. Usually, real-world properties are decisive: Common Lisp is big (in every sense), and the Scheme world is fragmented between many incompatible versions, where Python has a single, free, compact implementation.
Quotes about Python
Python is used successfully in thousands of real-world business applications around the world, including many large and mission critical systems. Here are some quotes from happy Python users:
YouTube.com
"Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers," said Cuong Do, Software Architect, YouTube.com.
Industrial Light & Magic
"Python plays a key role in our production pipeline. Without it a project the size of Star Wars: Episode II would have been very difficult to pull off. From crowd rendering to batch processing to compositing, Python binds all things together," said Tommy Burnette, Senior Technical Director, Industrial Light & Magic.
"Python is everywhere at ILM. It's used to extend the capabilities of our applications, as well as providing the glue between them. Every CG image we create has involved Python somewhere in the process," said Philip Peterson, Principal Engineer, Research & Development, Industrial Light & Magic.
"Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python, and we're looking for more people with skills in this language." said Peter Norvig, director of search quality at Google, Inc.
Journyx
"Journyx technology, from the source code of our software to the code that maintains our Web site and ASP sites, is entirely based on Python. It increases our speed of development and keeps us several steps ahead of competitors while remaining easy to read and use. It's as high level of a language as you can have without running into functionality problems. I estimate that Python makes our coders 10 times more productive than Java programmers, and 100 times more than C programmers." -- Curt Finch, CEO, Journyx
IronPort
"IronPort email gateway appliances are used by the largest corporations and ISPs in the world," said Mark Peek, Sr. Director of Engineering at IronPort Systems. "Python is a critical ingredient in this high performance system. IronPort's suite of products contains over a million lines of Python. The PSF is an invaluable resource that helps keep Python on the cutting edge."
EVE Online
"Python enabled us to create EVE Online, a massive multiplayer game, in record time. The EVE Online server cluster runs over 50,000 simultaneous players in a shared space simulation, most of which is created in Python. The flexibilities of Python have enabled us to quickly improve the game experience based on player feedback" said Hilmar Veigar Petursson of CCP Games.
HomeGain
"HomeGain maintains its commitment to continual improvement through rapid turnaround of new features and enhancements. Python supports this short time-to-market philosophy with concise, clear syntax and a powerful standard library. New development proceeds rapidly, and maintenance of existing code is straightforward and fast," said Geoff Gerrietts, Software Engineer, HomeGain.com.
Thawte Consulting
"Python makes us extremely productive, and makes maintaining a large and rapidly evolving codebase relatively simple," said Mark Shuttleworth.
University of Maryland
"I have the students learn Python in our undergraduate and graduate Semantic Web courses. Why? Because basically there's nothing else with the flexibility and as many web libraries," said Prof. James A. Hendler.
EZTrip.com
"The travel industry is made up of a myriad supplier data feeds all of which are proprietary in some way and are constantly changing. Python repeatedly has allowed us to access, build and test our in-house communications with hundreds of travel suppliers around the world in a matter of days rather then the months it would have taken using other languages. Since adopting Python 2 years ago, Python has provided us with a measurable productivity gain that allows us to stay competitive in the online travel space," said Michael Engelhart, CTO of EZTrip.com.
RealEstateAgent.com
"Python in conjunction with PHP has repeatedly allowed us to develop fast and proficient applications that permit Real Estate Agent .com to operate with minimal resources. Python is a critical part of our dynamically growing cluster directory of real estate agents." said Gadi Hus, Webmaster, Volico Web Consulting
Firaxis Games
"Like XML, scripting was extremely useful as both a mod tool and an internal development tool. If you don't have any need to expose code and algorithms in a simple and safe way to others, you can argue that providing a scripting language is not worth the effort. However, if you do have that need, as we did, scripting is a no brainer, and it makes complete sense to use a powerful, documented, cross-platform standard such as Python." -- Mustafa Thamer of Firaxis Games, talking about Civilization IV. Quoted on page 18 of the August 2005 Game Developer Magazine.
"Python, like many good technologies, soon spreads virally throughout your development team and finds its way into all sorts of applications and tools. In other words, Python begins to feel like a big hammer and coding tasks look like nails." -- Mustafa Thamer of Firaxis Games, talking about Civilization IV. Quoted on page 18 of the August 2005 Game Developer Magazine.
"We chose to use python because we wanted a well-supported scripting language that could extend our core code. Indeed, we wrote much more code in python than we were expecting, including all in-game screens and the main interface. It was a huge win for the project because writing code in a language with garbage collection simply goes faster than writing code in C++. The fact that users will be able to easily mod the interface is a nice plus as well. The downside of python was that it significantly increased our build times, mostly from linking with Boost."
-- Soren Johnson, lead designer, Civilization IV. Quoted in a Slashdot interview.
Python as a Gaming Console
NikolayIT / CSharpConsoleGames
Bunch of C# console games
c-sharp snake-game console-game tron-game tetris-game ping-pong-game cars-game
-
Updated
-
C#
kurehajime / pong-command
Open
Please correct the document.
kurehajime commented
The owner of this repository is a non-native English
speaker.
There may be unnatural sentences.
Please correct
the README page.
documentation good first issue help wanted
ZacharyPatten / dotnet-console-games
Open
Linux Compatibility
2
ZacharyPatten commented
Not all the games are compatible out-of-the-box on Linux (they
compile but some Console
methods are not
supported). Need to test and adjust accordingly or document
incompatibilities in the individual README files.
bug enhancement good first issue help wanted
rr- / pq-cli
Progress Quest: the CLI edition
-
Updated
-
Python
kflu / 2048
My take on the 2048 game in C#. Console version.
game csharp dotnet console-game 2048-game 2048-clone
-
Updated
-
C#
x0st / snake
A console snake written in C++
snake snake-game console-game console-application
-
Updated
-
C++
philshem / open-spelling-bee
Open
Documentation: highlighting interesting puzzles
1
philshem commented
In the README.md, it'd be cool to have a list of interesting puzzles that users can choose to play, rather than a random puzzle
python3 play_puzzle.py ABCDEFG
For example, including less-frequently used letters like X
,Z
,Q
,
or finding 7-letter pangrams, etc...
(also consider scraping previous NYTimes letters: https://www.shunn.net/bee/?past=1 )
enhancement good first issue help wanted
b01t / shellshock
A spaceshooter game in Bash
game bash space-shooter console-game
-
Updated
-
Shell
kurehajime / kuzusi
breakout for terminal
go golang breakout console-game console-application
-
Updated
-
Go
stanislavkozlovski / python_wow
A console RPG game inspired by the Warcraft universe.
game sqlalchemy python-3-6 python-adventure-game console-game rpg-game warcraft-universe
-
Updated
-
Python
lemunozm / ruscii
Terminal graphics engine: build your games in the terminal!
game-engine console-game graphics-library terminal-game key-event terminal-graphics-engine
-
Updated
-
Rust
OSSpk / Typing-Tutor
An interactive graphical Typing Tutor game made using C++ (Console Based) having various difficulty levels and a fun gameplay.
game console cplusplus cpp game-2d text-game console-game console-application open-source-project typing-game typing-skills open-source-game console-app typing-tutor typingtutor typing-trainer fun-game typing-practice console-graphics extendable-game
-
Updated
-
C++
OSSpk / Zelda-Game
A text based adventure game made using concepts of OOP like Inheritance, Composition, Association, Polymorphism etc
zelda oop composition inheritance object-oriented text-adventure console-game text-based oop-principles polymorphism console-application association graphical-user-interface text-based-adventure object-oriented-programming zelda-like oop-concepts text-based-game object-oriented-programming-project castle-game
-
Updated
-
C++
Kohana55 / ConwaysGameOfLife
A simple and easy to follow implementation of Conway's Game Of Life.
csharp gameoflife console-game console-application conways-game-of-life
-
Updated
-
C#
sepandhaghighi / penney
Penney's Game
game python windows macos linux cli fun probability python3 console-game console-application cli-game cli-games penneygame penney-game
-
Updated
-
Python
xovox / RetroCRT
RetroPie on CRT! RetroTink, JAMMA, SCART & more!
linux emulator raspberry-pi games video emulation retropie composite arcade rgb console-game roms ntsc crt emulationstation retropie-setup jamma jamma-video emulationstation-theme jamma-custom-arcade-project
-
Updated
-
C
gto76 / race
Terminal racing game
-
Updated
-
C
guillaC / Shmup
(not finished) a simple shooter console game
shooter ascii-game console-game shootemup
-
Updated
-
C#
kirpichik / GameOfLife-Curses
Implementation of the "Game Of Life" using the console library NCurses.
game game-of-life gameoflife ncurses curses console-game game-console
-
Updated
-
C++
avdaredevil / PowerSneks
Snake game written in PowerShell which uses any windows console (cmd.exe, powershell.exe, even VSCode) and draws out a custom native code based game. Useful and fun game for aspiring programmers and techies.
game powershell snake-game console-game laser-beam
-
Updated
-
PowerShell
Mihaszki / Gravitation
Gravitation - is a game where you can manipulate your gravity. Written in C# (console app). You can easily add new levels (even without programming knowledge). The game is colorized, but user can disable colors (game will work faster).
game dotnet console-game console-application
-
Updated
-
C#
xemeds / obstruction-game
Console version of the pen and paper game Obstruction.
game c ascii-art console-game obstruction
-
Updated
-
C
viacheslavpleshkov / unit-factory-ucode-endgame
A STORY OF ONE FISH
game c fish makefile console-game
-
Updated
-
C
markub3327 / Casino
Simple Casino game for any platform, .NET Core
game c-sharp visual-studio school-project artificial-intelligence software-engineering console-game asp-net-core casino netcore3 casino-games
-
Updated
-
C#
AyeshaShaukat / Project-Battle-Ships-Game
This project will help you get more familiar with arrays. You will be recreating the game of battleships. A player will place 5 of their ships on a 10 by 10 grid. The computer player will deploy five ships on the same grid. Once the game starts the player and computer take turns, trying to sink each other's ships by guessing the coordinates to "attack". The game ends when either the player or computer has no ships left. link:https://courses.edx.org/courses/course-v1:Microsoft+DEV277x+1T2018/courseware/76c11a375a0e495e83ab68121566fb12/8f250da826d7405d8fecf99aca3a5e9a/?child=first
game java simple arrays console-game logic-programming procedural-programming
-
Updated
-
Java
Guila767 / SnakeGame
Snake Game Made in C#
-
Updated
-
C#
RaymiiOrg / c_ookieclicker
Open
Feature: Add amount to buy after option
langerak commented
It would be nice to have the option to specify the amount of upgrades after the buyting type.
For example, I want to purchase 25 cursors I would like to type k25 instead.
BertilBraun / Console-Pacman
School project for the end of the first Year
console school-project console-game console-application presentation-website
-
Updated
-
C++
ripred / JavaChess
24-bit ANSI colored, console-based chess using Java. Optional multi-threaded AI using Minimax with alpha-beta pruning. Fully configurable properties including: ply depth, thread pool size, optional AI time limit, all colors, and more.
java chess console-game configurable alpha-beta-pruning minimax-algorithm multithread console-color
-
Updated
-
Java
kflu / game-of-life-racket
Game of Life in Racket
game scheme game-of-life racket console-game
-
Updated
-
Racket
Improve this page
Add a description, image, and links to the console-game topic page so that developers can more easily learn about it.
Add this topic to your repo
To associate your repository with the console-game topic, visit your repo's landing page and select "manage topics."
No comments:
Post a Comment