ROSSUM'S PYTHON
Intro:
Python is
a high-level programing language, high-level programing language
means it’s programmer-friendly language and we can write the program very
easily.
Ex:
a =10
b= 20
c = 30 if
a>b else 40
print (c)
Result: 40
Python program file extension is .py, its general-purpose programing language also. It
means we can use this language in general domains like desktop
applications, web applications, machine learning, and more.
The creator of
python is… Guido van Rossum
More
details of Rossum with personal resume.
(See also my publications list and my personal home page.)
Current
Distinguished
Engineer in the Developer Division at Microsoft, since
November 2020.
From
October 2019 till October 2020 I was retired.
Previous
Work in the US
From
January 2013 through October 2019, I worked for Dropbox, where most
recently I worked on mypy and on migrating over 5 million lines
of server-side code from Python 2 to Python 3.
From
December 2005 till December 2012, I worked for Google. My first project
was an internal code review tool, Mondrian. After that, I
worked on the App Engine project,
where I worked on the Admin Console,
the Appstats library, the NDB library, and
created an open-source code review tool, Rietveld.
From
July 2003 till December 2005, I worked for Elemental Security,
founded by Dan Farmer, as Senior Language Architect. The one thing I built here
that had a lasting effect was a Python version of pgen, Python's parser
generator, now immortalized in the Python standard library is lib2to3/pgen2/.
From
October 2000 till July 2003, I worked for Zope Corporation as Director of PythonLabs.
From
May through October 2000, I worked for BeOpen.com as Director of PythonLabs.
From
April 1995 to February 1998, I was a guest researcher for the U.S. National
Institute of Standards and Technology (NIST) in Gaithersburg,
Maryland, working at the Corporation for National Research Initiatives (CNRI) in Reston,
Virginia. From March 1998 to May 2000 I was an employee of CNRI doing
essentially the same work. The research was on mobile agents in distributed
systems using interpreted languages. Most of the work involved Python, an interpreted,
object-oriented programming language of my own invention. As an elaborate
example, I wrote Grail, the first web
browser written in Python. During this time I also wrote a funding
proposal, Computer Programming for Everybody, that was funded by DARPA.
From
mid-October till mid-December 1994 I was a guest researcher at NIST, working on Python. NIST sponsored
my visit to the Usenix Symposium on Very High-Level Languages in Santa Fe and
organized the First Python Workshop.
Previous
Work outside the US
From
1991 till 1995 I worked in the multimedia group at CWI, headed by Dick Bulterman. The
group was working on authoring software for hypermedia presentations (both
implementations and theoretical models) and on the operating system and network
support for multimedia and hypermedia, in particular synchronization of
independent streams. They maintained a directory containing
a compressed Postscript of publications by the group. Most of the group's
implementation work (even after my departure) was done in Python.
Older
Projects
I
was involved in several other projects at CWI:
- From
1986 till 1991 I was with the Amoeba the project, headed by Sape Mullender. Amoeba is a distributed operating
system developed jointly with the Computer Systems Group of the Department of Computer Science of
the Free University of Amsterdam.
- From
1982 till 1986 I was a member of the ABC group, headed by Lambert Meertens and Steven Pemberton, where my task was the
design and implementation of ABC, a programming language and environment
for programming by non-expert users.
From
1977 till 1982 I worked part-time for SARA.
Education
I
received a Master's degree in Mathematics and Computer Science from the University of Amsterdam in
1982, and joined CWI as a researcher in the same year. While studying, I worked
for 5 years as a systems programmer at Amsterdam's academic computer
center, SARA.
Awards
In
November 2019 I was awarded the first Dijkstra Fellowship by CWI.
In
October 2018 I was one of the five recipients of the first annual Oracle Groundbreaker Awards.
Since
October 2018 I am an IEEE Senior
member. (But they don't give senior discounts. :-)
In
April 2018 I was entered into the Computer Museum's Hall of Fellows.
In
June 2013 Python won the highly competitive Dutch COMMIT/ Award.
In
July 2007 I was awarded the USENIX STUG Award.
In
October 2006 I was elected ACM Distinguished Engineer.
In
June 2003 I was a finalist in the category "IT - Software
(Individual)" of the World Technology Network awards.
In
May 2003 I received the NLUUG Award 2003
for extraordinary services to the community of users of Unix and Open Systems.
In
February 2002 I received the Free Software Foundation Award.
In
May 1999 I received the Dr. Dobb's Journal 1999 Excellence in Programming Award,
together with Donald Becker.
Python came
in 1989 while working national research institute in Netherland. Python is
publicly available on FEB 2oth 1991.
Python Special Features:
It’s simple
and easy to understanding and easy to coding.
It’s very
little code compared to other languages
It’s best
suitable for future and powerful applications like Artificial Intelligence,
Machine Learning, Deep Learning, Natural Networking, Data Science, Internet of
Things, etc.
It’s best
suitable for beginners and anyone can learn python, no previous coding
knowledge is required. In my knowledge for learning python BASIC ENGLISH,
BASIC MATHS, LOGICAL THINKING is required. Just take a look (hello world)
program other languages and python, so that we can understand more clearly. how
simple it is, check the simple hello world program.
In
C
#include
<stdio.h>
int
main(void){
printf("Hello,
world!\n");
return
0;
}
In
java
public class
HelloWorld
{
public
static void main(String[] args)
{
System.out.println("Hello,
world!");
}
}
In python just one line
print("Hello,
world!")
now we are
checking one more example and adding two numbers.
in
C
#include<stdio.h>
int main()
{
int
a = 1, b = 2;
a
= a + b;
printf("Sum
of a and b = %d\n", a);
return
0;
}
In
Java
class
AddNumbers
{
public
static void main(String args[])
{
int
x, y, z;
System.out.println("Enter two integers to calculate
their sum");
Scanner
in = new Scanner(System.in);
x
= in.nextInt();
y
= in.nextInt();
z
= x + y;
System.out.println("Sum
of the integers = " + z);
}
}
In
python.. just like normal maths
a = 4
b = 6
c = a+b
print('The
sum of c:',a+b)
in these
examples, we can easily understand how much easy it is. Now one more point we
need to notice is that variable before in c and java, we added
(int) typecasting with a value a & b. But in python, we have not
added any (int) like typecasting. In c and java, it’s mandatory otherwise
program can’t run, but in python, it’s not mandatory it’s automatically finding
the typecasting, based on a given value. If we are given the typecasting before
the variable like (int) there is no issue, and it’s one hundred percent
accepted. No errors are coming. This type of behavior is called dynamic
type programing language.
Ex: python,
javascript.
If we
compulsory add typecasting before the variable like (int), this type is called static type programming language.
Ex: C,
C++,Java
In python,
type of variable automatically detect the typecasting, and it has an option for
checking.
a = 10
print(type(a))
result:
<class 'int'>
a = 10.5
print(type(a))
<class
'float’> #result
a = True
print(type(a))
<class
'bool’> #result
next point,
in c or java if we assign the value like (a=10) the total program the value 10
only, we can’t change the value. If we are trying to change the value in within
the program it’s giving the error.
In python,
we can change the value n number of times. But the program only takes the latest
given value only.
Python is
easier and more fixable, we can change the program variables data within the
program. This is another benefit of dynamic type programing language.
This helps the programmer be more friendly and easily.
Python
name:
Rossum
watched one comedy show name is ‘The Complete Monty Python’s Circus’ the
comedy show on the BBC channel from 1969 to 1974. Rossum was very interested in
watching this show. That’s why he takes the name for his programing software
called PYTHON.
Not even
python language other languages like java and Hadoop have this type of
real stories are there. Take a look at Google.
Rossum
python is more powerful compared to other languages.
He collected
some special futures from other languages put into python. Like from C
functional futures, from java object-oriented program futures,
from shell script scripting type, from modular-3 modular
type futures like all futures put into python and make
powerful and smart language.
Python most
of the syntax looks like C and ABC language.
Using
area of Python:
1.
Web Development:
Python can
make web applications at a rapid speed. It is because of the frameworks. Python
uses to create these applications. There is common-backend logic that goes into
making these frameworks and a number of libraries that can help integrate
protocols such as HTTPS, FTP, SSL, etc. and even help in the processing of
JSON, XML, E-Mail and so much more.
Some of the
most well-known frameworks are Django, Flask, Pyramid. This framework uses
security, scalability, convenience that they provide is commendable and
programmer-friendly.
2.
Game Development:
Python is
also used in the development of interactive games. There are libraries such as
PySoy is a 3D game engine supporting Python 3, PyGame which provides
functionality, and a library for game development. Games such as
Civilization-IV, Disney’s Toontown Online, Vega Strike, etc. have been built
using Python.
3.
Machine Learning and Artificial Intelligence:
Machine Learning
and Artificial Intelligence are the talks of the town as they yield the most
promising careers for the future. We make the computer learn based on past
experiences through the data stored or better yet, create algorithms that make
the computer learn by itself. It’s Support for these domains with the libraries
that exist already such as Pandas, Scikit-Learn, NumPy and so many more.
4.
Data Science and Data Visualization:
Data is
money if you know how to extract relevant information which can help you take
calculated risks and increase profits. You study the data you have, perform
operations and extract the information required. Libraries such as Pandas,
NumPy helps you in extracting information.
You can even
visualize the data libraries such as Matplotlib, Seaborn, which are helpful in
plotting graphs, and much more. This is what Python offers you to become a Data
Scientist.
5.
Desktop GUI:
We use
Python to program desktop applications. It provides the Tkinter library that
can be used to develop user interfaces. There are some other useful toolkits
such as the wxWidgets, Kivy, PYQT that can be used to create applications on several
platforms.
You can
start out by creating simple applications such as Calculators, To-Do apps and
go ahead and create much more complicated applications.
6.
Web Scraping Applications:
Python is a
savior when it comes to pulling a large amount of data from websites which can
then be helpful in various real-world processes such as price comparison, job
listings, research and development, and much more.
7.
Business Applications:
Business
Applications are different than our normal applications covering domains such
as e-commerce, ERP, and many more. They require applications that are scalable,
extensible, and easily readable and Python provides us with all these features.
Platforms such as Tryton is available to develop such business applications.
8.
Audio and Video Applications:
We use
Python to develop applications that can multi-task and also output media. Video
and audio applications such as TimPlayer, Cplay have been developed using
Python libraries. They provide better stability and performance in comparison
to other media players.
9.
CAD Applications:
Computer-Aided
Designing is quite challenging to make as many things have to be taken care of.
Objects and their representation, functions are just the tip of the iceberg
when it comes to something like this. Python makes this simple too and the most
well-known application for CAD is Fandango.
10. Embedded Applications:
Python is
based on C which means that it can be used to create Embedded C software for
embedded applications. This helps us to perform higher-level applications on
smaller devices that can compute Python.
The most
well-known embedded application could be the Raspberry Pi which uses Python for
its computing. We can also use it as a computer or as a simple embedded board
to perform high-level computations.
Companies
Using Python
1.
Google
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.
2.
Facebook
As the
first-ever social media platform that stirred up the competition and rose to
the top, Facebook has evolved significantly, and part of the reason behind this
is the adoption of Python in its technology stack. Facebook uses many Python
packages in several areas, such as:
● TORconfig,
FBOSS, FBAR, Cyborg, machine checker, for Production Engineering
● Job
Engine, fbpkg, FBTFTP, Osmosis, for Platform Services
●
Configurator, for Service Configuration Management
● MySQL Pool
Scanner, slow roll orchestrator, for managing Operational Efficiency
Facebook
also actively takes part in the development of Python by regularly contributing
to the platform with bug fixes and additional features for enhanced
performance. Other languages used in Facebook’s technology stack include PHP
and C++.
3. Instagram
Instagram — Popular
photo and video sharing platform
An immensely
popular photo and video sharing platform, Instagram use Python to achieve
maximum operational efficiency using a famous Python framework, Django.
Considered as the largest implementation of Django yet, the motivation behind this
was the simplicity and the reliability of the framework.
The
developers at Instagram also seem to favor Python over PHP when it comes to
choosing their preferred baseline programming language as the performance gains
with PHP just weren’t compelling enough.
The company
even made the switch from Python 2 to Python 3 over a 10-month long period,
this clearly shows that Instagram is very impressed with Python.
4.
Spotify
Spotify — Go-to music
streaming app
Spotify is
the go-to music streaming app for millions of people due to its widespread
availability and an astounding collection of music for all your moods. Python
is being used extensively by Spotify for numerous reasons including, data
analysis, inter-service communication using ZeroMQ, and more.
With the
wealth of data, Spotify manages its recommendation system with the vast amounts
of collected data using Hadoop, and it is processed in conjunction with Luigi,
a python package for batch processing jobs. Another reason for adopting Python
over others is the rapid development pipeline and how seamlessly services
operate with each other.
5. Quora
Quora — Popular
question and answer platform
Quora is a
popular question-and-answer platform where every day, hundreds of questions are
being posted, garnering replies from some of the brightest people out there.
Quora adopted Python for its efficient and speedy nature, with the added
benefit of ease of use. Quora uses the Tornado framework, pypy, and many more
python libraries. Quora circumvented the type checking shortcoming of Python by
writing thorough unit tests.
Benefits
such as reduced development time, enhanced scalability, developer-friendliness
with better code readability, and the availability of plenty of libraries
assured them and turned their attention towards Python, from the other two
potential candidates including C#, Java, and Scala.
6. Netflix
Netflix — Video
streaming giant
The widely
popular video streaming giant Netflix is particularly fond of Python and tries
to use it as much as it can. From its early days, Netflix has been very open
about how they use Python and other libraries. The implementation of Python can
be found in almost every sub-system, such as:
● Security:
A suite of tools called the Simian Army simulates failures and tests the
reliability of the system, helping plan recovery measures for system failures.
● Alerts:
Central Alert Gateway communicates all alerts to suitable teams.
● Data
Analysis: Libraries like NumPy, SciPy to perform numerical data analysis.
7. Dropbox
Dropbox — Online
file-sharing and storage company
Python is
the life force behind the online file-sharing and storage company Dropbox
powering most of its services and its desktop client. Dropbox was so
impressed with Python they managed to get Guido van Rossum, the creator of
Python, from Google and onboard the Dropbox team to improve their platform.
Although
proprietary, the company also offers a Python SDK to developers, looking to
integrate it into their Python app, giving you an idea of how much they are
invested in the platform. The developers at Dropbox also confirm that most of
the server-side code is written using Python.
8. Reddit
Considered
as one of the largest microblogging websites and the self-proclaimed first page
of the internet, Reddit is your place if you want to gather information about
anything, with millions of users and billions of topics.
Reddit takes
a lot of inspiration from Python and its wide collection of libraries by
gradually implementing a highly customized variant of each adopted library. At
its core, Reddit uses the following libraries to keep its services running:
●
baseplate.py: As the core services framework in Python
●
rollingpin: To facilitate faster deployment to various servers
● pywebpush:
The Web push data encryption in Python
● AWS-MFA:
For managing the AWS Multi-Factor Authentication
● monitors:
To monitor all the operations
● gevent: To
manage coroutine-based concurrency
●
Django-underpants: Helpers integrating Django to underpants
● and many
more libraries
9.
Amazon
Amazon — One of the
top players in the online marketplace
One of the
top players in the online marketplace, Amazon, uses Python in several areas of
its platform. Implemented in the product and deals recommendation system
wherewith Artificial Intelligence and Machine Learning, Amazon analyzes the
customer’s buying and habits and recommends products.
As Amazon
deals with humungous amounts of data, technology to manage that data was
required, and that’s where Python came in with its high scalability and the
ability to work seamlessly with other technologies such as Hadoop.
Another
instance of Amazon using Python is the Jupyter notebooks for various use cases,
even involving Machine Learning and automation in the AWS resources.
10. Uber
Uber — A Ride
booking multinational company
Uber, a
multinational company that lets you book rides to your favorite destinations,
uses Python along with Node.js, Java, and Go at the lower levels. Most of the
services for its users are still powered by Python, including the business
logic and all the calculations that take place, including the middle and top
levels, such as calculating ETA, ride fares, calculating geo-locations, and
the demand and supply.
Uber claims
to use Tornado with Python but often exchanges that with Go, to achieve better
throughput in terms of concurrency. Uber also develops frameworks for
visualizations that Python, as well as R and Shiny, make use of, and uses
Jupyter notebooks for all its data analysis tasks.
Special
Features of Python
1.
Simple and easy to learn
Python has
only 35 keywords, if we compare it to other languages it’s very few. So that
we can learn faster and easier. Starting time we already sea the python program
it just looks like an English statement, is easy to read, and has very little code
compared to other languages. So that it has a varied fast compiling process. For
example, we have one data file and we want to show the console that data. In
this task, if we use c, java it’s pity a lengthy program but in python, it’s
only one line.
print(open(‘data.txt’).read())
2.
Freeware and open source
It’s totally
free and we can use any type of application without any purchasing or licensing
issues. It’s open-source it means anyone can take the source code and modified
according to our application and that source code name change it as you like.
Ex ..Jython,
IronPython, etc.
3.
High-level programing language
It means
it’s a programmer-friendly language and it can code and understand easily.
a=10
b=20
print (a+b)
result:30
low-level
activities like memory management, object distraction, free space allocation,
and all take cake by python PVM. PVM means python virtual machine.
4.
Platform Independent
Someone told
that 'Write once and run anywhere' this is a java slogan.. but
it’s a python slogan because the python program is older than the java program.
If we need
to test all platforms in our new software, based on python code. If this new
software is written in other languages like c or c++ we need to change
according to the platform. But python-based software easily runs all platforms
without any changes support with PVM but PVM is different based on the platform.
Once we go to install python in our system it has an option on the python.org
website if we are installing windows or Linux. so python windows PVM and Linux
PVM both are different. This type of future is called platform-independent.
If we need the change our code platform-based then it’s called platform-dependent.
5.
Portability
Portability
means we can move the object from one place to another place easily. Just like
our python-based software can move from one platform to another platform
(OS).without any changes. This is called portability.
6.
Dynamically typed
In other
languages like c,c++, java we must assign the typecasting before the variable
declaration. If we do not assign typecasting before the variable then the
program gives the error. This type of program is called static type
programing language
ex: int
a=10..ok
int
b=20…ok
a
= 30…. Not ok it’s giving the error.
but python does not need to assign typecasting before the variable. Python program
automatically detects the typecasting based on a given value. If we are given
the typecasting then also no issues. It’s perfectly working our program with
both conditions.
Ex: a
= 10 …ok
int
b =20…ok
this type of
nature is called dynamically type programing language. And we can
check what type of variable python was taken with help of the type() function.
Ex: a
= 10
print(type(a))
output:
<class ‘int’>
in
dynamically typed language we can change the assigned value n number of times
and there is no issue and a program runs without any error.
Ex: n
= 5
n = n + 1
n = n + 1
print (n)
7
#Result
so n value
automatically changes and gives perfect output without any error.
In the
static type of programming languages can’t run this program. It’s given an
error.
7.
Procedural and Object-Oriented
In 'C' we
can do only procedural the oriented program, in 'java' can do the only
object-oriented program but python can do Procedural and Object-Oriented
programs, scripting type, modular type, and much more can do support with
python frameworks.
8.
Interpreted Language
Python is not
required to compile for executing the program, in the 'C' language needs to compile
and execute the program, in the 'java' language, needs to compile and execute
the program. In python just runs the program only. Internally PVM line
by line compiles our program without our knowledge. Once we run the
program it shows the result.
9.
Extensible
Extensible means you can write your Python code modules in other
languages like C or C++. It means that it can be extended to other languages
which makes python an extensible language. It's not extending the language
itself (syntax, constructs, etc), but we can python libraries to be written in
other languages support with Python API.
10.
Embeddable
The previous
feature was discussed about the extensibility of python. it's exactly the
opposite. However embeddable means that it is also possible to write your
python code in a source code in different languages like C, C++, JAVA, etc.
This allows developers to integrate scripting capabilities into programs
written in another language.
11.
Extensive Library
Python
supports a large set of libraries and provides thousands of functionalities to
the developer for developing successful applications. This is one of the major
reasons why python becomes popular among the programming community. Nowadays a
lot of researchers use python language for their scientific programming.
12.
GUI supported
Python
supports a huge number of GUI frameworks (or toolkits). Graphical User
Interfaces(GUI) can be developed using Python. For this purpose, we use python
libraries such as PyQT, Tkinter, Pygame and pyFLTK are some GUI libraries which
are really popular among python application developers.
Some
Limitations of Python:
1.
Performance and Speed
Many
programmers have proved that Python is slower than other modern programming
languages like Java and C++. So the developers have to frequently explore ways
to enhance the Python application’s speed. However, they have a number of
options to make the applications written in Python run faster. For instance,
the developers can create a custom runtime, and use it instead of the default
runtime of the programming language. Likewise, they can rewrite the existing
Python code to take advantage of the existing execution speed.
2.
Incompatibility of Two Versions
Beginners
learn Python 3 only. Officially, Python 2. x is described as legacy, whereas
Python 3.x is described as current and futuristic. But both versions of the
programming language have been updated on a regular basis. Also, a large
percentage of programmers still prefer Python 2 to Python 3. There is a number
of popular frameworks and libraries that support Python 2 and 3 also.
3.
Depends on Third-Party Frameworks and Libraries
Python lacks
a number of features provided by other modern programming languages. So the
programmers have to use a number of third-party frameworks and tools to build
web applications and mobile apps in Python. However, they need to use
open-source frameworks and libraries to avoid increasing project overheads. The
cost factor restricts the developers from availing of the advanced features and
functionality provided by commercial frameworks.
4. Many
Python Modules Lack of Support
Python is
supported by a large and active community. The members of the Python community
regularly share new packages or modules to make it easier for programmers to
add functionality to the application. But developers often complain that the
quality of individual Python modules or packages differs. Some of these packages
lack adequate support and are not updated regularly. Hence, the programmers
have to do some initial research to pick the right packages or modules.
5.
Weak in Mobile Computing
Python
developers cannot use Python directly for developing mobile apps by targeting
any popular mobile platforms. They have to use frameworks like Kivy to build
cross-platform mobile apps using Python.
6.
Requires Additional Testing
Python is a
dynamically typed programming language. It does not require programmers to define
the type of a variable while declaring it. The feature makes it easier for
programmers to write code freely. But a number of critical bugs or defects
emerge at the time of compilation as the variable types are not defined
explicitly. So the developers must perform a number of tests additionally to
identify and fix the bugs during runtime.
Flavors
of Python
Types of
Python compilers are referred to as flavors of Python. They help to integrate
various types of programming languages in Python some of them are:
1.
CPython
It is a
Python compiler that was implemented in the C language. Even C++ code can be
executed using CPython.
2.
JPython
It enables
Python implementation to be run on the Java platform. It runs on JVM.
3.
IronPython
It is a
compiler designed for the .NET framework, but it is written in C#. It can run on
CLR(Common Language Run time).
4.
PyPy
It is a
Python implemented by using Python language itself. It runs fast since JIT is
incorporated into PVM.
5.
Ruby Python
It acts as a
bridge from Ruby to Python interpreter. It embeds the Python interpreter inside
the Ruby application
6.
Pythonxy
It is
written in the form of Python(X, Y). It is designed by adding scientific and
engineering-related packages.
7.
Anaconda Python
The name
Anaconda Python is obtained after redeveloping it to handle large-scale data
processing, predictive analytics, and scientific computing. It handles a huge
amount of data.
8.
Stackless Python
Tasklets are
small tasks that are run independently. The communication is done with each by
using channels. They schedule, control, and suspend the tasklets. Hundreds of
tasklets can run by a thread. The thread and tasklets can be created in
stackless python. It is a re-implementation of python.
PYTHON
INSTALLATION:
Nowadays all
are using the python 3 versions only, it’s available on the python.org website, go to this
website and click the download tab and you can see source code, windows, mac
os, and other platforms. Just click based on your system OS, after that its
shows all versions with notes. Download the latest version of python. The
latest version is the best choice. Just install the python. In this process, we
must select the ‘add python 3.x to PATH’ otherwise we have to add manually, and sometimes it may not work. Because admin rights like some issues came into the picture. Once installation is done, open the command prompt, and type the ‘python’
it’s will show below
Python 3.8.5
(tags/v3.8.5:580fbb0, Jul 20 2020, 15:43:08) [MSC v.1926 32 bit (Intel)] on
win32
Type
"help", "copyright", "credits" or
"license" for more information.
>>>
It means
python was installed successfully.
If not
showing then uninstall and reinstall with activate path.
Next, we
need to install the IDE. Pycharm is the best choice for python.
I am always
using Pycharm for python coding..it’s the best, the next
option is VS code. For big projects Anaconda..and
learning purpose Jupiter notebook.
IDE:
An integrated
development environment is the most powerful and very useful tool.
It’s more than 50 plus applications are available in the market.
Ex: pycharm,
vs code like etc..
IDE
futures:
1.
Syntax highlighting
The IDE
editor usually provides syntax highlighting, it can show both the structures,
the language keywords, and the syntax errors with visually distinct colors and
font effects
2.
Code completion
Code
completion is an important IDE feature, intended to speed up programming.
Modern IDEs even have intelligent code completion.
3.
Refactoring
Advanced
IDEs provide support for automated refactoring
4.
Version control
An IDE is
expected to provide integrated version control, in order to interact with
source repositories
5.
Debugging
IDEs are
also used for debugging, using an integrated debugger, with support for setting
breakpoints in the editor, a visual rendering of steps, etc
6.
Code search
IDEs may
provide advanced support for code search: in order to find class and function
declarations, usages, variable and field read/write, etc. IDEs can use
different kinds of the user interface for code search, for example, form-based
widgets[5] and natural-language based interfaces
7.
Visual programming
Visual
programming is Visual Basic allows users to create new applications
by moving programming, building blocks, or code nodes to create flowcharts or
structure diagrams that are then compiled or interpreted. These flowcharts
often are based on the Unified Modelling Language.
8.
Multi-Language support
Some IDEs
support multiple languages, such as GNU Emacs based on C and Emacs Lisp, and
IntelliJ IDEA, Eclipse, MyEclipse, or NetBeans, all based on Java, or
MonoDevelop, based on C#, or PlayCode.
Support for
alternative languages is often provided by plugins, allowing them to be
installed on the same IDE at the same time. For example, Flycheck is a modern
on-the-fly syntax checking extension for GNU Emacs 24 with support for 39
languages.[7] Eclipse and Netbeans have plugins for C/C++, Ada, GNAT (for
example AdaGIDE), Perl, Python, Ruby, and PHP, which are selected automatically
based on file extension, environment, or project settings.
Post a Comment