473,657 Members | 2,801 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Prothon 0.1.2 is getting close to Alpha [Prothon]

Prothon is pleased to announce another major release of the language,
version 0.1.2, build 710 at http://prothon.org.

This release adds many new features and demonstrates the level of maturity
that Prothon has reached. The next release after this one in approximately
a month will be the first release to incorporate the final set of frozen
Prothon 1.0 language features and will be the Alpha release. You can see
the set of features still under discussion for 1.0 at the new Prothon WIKI
at: http://prothon.org/wiki.

This list is not only long but the changes are mostly major features.

Changes in version 0.1.2....

- print is now a function, not a keyword
- function-as-command feature allows print to be used without parens
- Added prop keyword and properties feature with wildcards
- Changed del_ to final_ so properties could use get_, set_, & del_
- a += b type assignments now always do a = a + b
- New in-place modify operators a +! b, a -! b, a *! b, etc.
- Formal parameter default values now evaluated at call time
- String now stored with native 24-bit ordinal values
- Split String type into seperate String and Bytes (binary) types
- Split File into File and TextFile
- Replaced String % operator with String.fmt()
- Added cmp_ and eq_? for strings of length 1 and Ints
- Added object-oriented Directory object and methods
- Added TempDir and TempFile (deleted at shutdown)
- Added basic DateTime object
- Added WeakRef object with callback feature on obj modification
- Added Slice object
- getItem_, setItem_, and delItem_ now allow any object indexing
- Finalization now called on shutdown
- Added built-in range() generator (not list function)
- Added List(iter_) constructor
- Octal constant format changed from 0377 to 0o377
- Octal esc sequence changed from \0377 to \o377
- except keyword no longer allowed alone, must use "except Exception"
- except syntax changed from "except exc, var" to "except exc as var"
- Function formal params now introspectable via simple attribute
- *args param local variable in func is now a tuple, not a list
- Added immutable check to dictionary function key parameter
- Added Dict.len_ and Dict.bool_?
- Moved File from extension module to built-in
- Changed File.stdxxx to sys.stdIn, sys.stdOut, and sys.stdErr
- changed Len, Cmp, len, cmp, chr, ord to
len, cmp, len_, cmp_, chr_, ord_
- changed Sys to sys, changed sys.ps1, sys.ps2 to sys.cons.ps1,
sys.cons.ps2
- Changed SQLite to sqlite, OS to os, Re to re
- Change symbol prefix from backtick (`var) to dollar-sign ($var)
- Changed console prompt from >>> to O>>
- Added many new *.pr test files
- Fixed raise keyword so second arg is doc_ attribute of first
- Fixed crash on printing recursive containers, now prints ...
- Fixed assignment from sequences to arg lists and for statements
- Fixed import in console
- Fixed bug in Func constructor
- Fixed bug in string.rstrip, string.strip, and string.find
Prothon is an interpreted dynamic language that takes much from Python but
is not compatible with Python as it uses the simpler prototypes instead of
classes. Prothon is an industrial strength language that uses native OS
threads and 64-bit architecture. For a description of Prothon see the
tutorial at
http://prothon.org/wiki?pagename=TutorialHomePage.

Mark Hahn
email: mark at prothon.org
Jul 18 '05 #1
20 1799
Mark Hahn wrote:
Prothon is an industrial strength language that uses native OS
threads and 64-bit architecture.


Mark, as someone with an "industry" perspective, I interpret
the phrase "industrial strength" as meaning two things**, primarily:
power and reliability.

Does Prothon already have enough users and runtime to justify a
claim that it is highly reliable? I believe Python can make this
claim fairly easily at this point, though even a few years ago
I'm not sure that was the case.

What do _you_ mean by "industrial strength"?

-Peter

** That is, when I don't think it's just a marketroid talking.
I know Mark isn't a marketroid, in spite of the similarity
in the names. ;-)
Jul 18 '05 #2
Peter Hansen wrote:
Mark Hahn wrote:
Prothon is an industrial strength language that uses native OS
threads and 64-bit architecture.


Mark, as someone with an "industry" perspective, I interpret
the phrase "industrial strength" as meaning two things**, primarily:
power and reliability.

Does Prothon already have enough users and runtime to justify a
claim that it is highly reliable? I believe Python can make this
claim fairly easily at this point, though even a few years ago
I'm not sure that was the case.

What do _you_ mean by "industrial strength"?


I understand your concern.

I meant it is designed to be industrial strength when it is finished. The
architecture/foundation is built from the ground up with that in mind. I'm
also making a bit of a comment that it will be more industrial strength than
Python.

And yes, I am a marketing force of one. :-)

I'm sure everyone can tell marketing claims like this from technical points
made elsewhere. I make it clear that it is pre-alpha. I made its status
clear at the top of the announcement and the marketing blurb at the
traditional place at the end. I actually tried to think of some sub-heading
to put before the marketing blurb but I couldn't think of what it should
say.

In the last announcement I forgot the standard blurb and several people
emailed me and gave me flack for announcing something and not telling what
it was in the announcement. I'm not very good at this marketing stuff. :-(

Jul 18 '05 #3
Mark Hahn wrote:
Peter Hansen wrote:
What do _you_ mean by "industrial strength"?


I meant it is designed to be industrial strength when it is finished. The
architecture/foundation is built from the ground up with that in mind. I'm
also making a bit of a comment that it will be more industrial strength than
Python.


That claim interests me a lot. I've found recent versions of
Python to be *very* robust. I'd trust them with almost anything
at this point, more than I could say of most code in other
languages I've used. Why do you think you can improve on that,
(or even be on par with it if you're writing the interpreter
from scratch)?

-Peter
Jul 18 '05 #4
Peter Hansen <pe***@engcorp. com> writes:
I meant it is designed to be industrial strength when it is
finished. The architecture/foundation is built from the ground up
with that in mind. I'm also making a bit of a comment that it
will be more industrial strength than Python.


That claim interests me a lot. I've found recent versions of
Python to be *very* robust. I'd trust them with almost anything
at this point, more than I could say of most code in other
languages I've used. Why do you think you can improve on that,
(or even be on par with it if you're writing the interpreter
from scratch)?


Python has all kinds of annoying little limitations and misfeatures
that make me think an "industrial strength" version could do some
things differently. Yes, you can write reasonably reliable programs
in Python if you're careful about the different traps, but maybe
Python tries to accomplish too many things at once. So it will be
interesting to see how Prothon comes along.
Jul 18 '05 #5

"Peter Hansen" <pe***@engcorp. com> wrote
That claim interests me a lot. I've found recent versions of
Python to be *very* robust. I'd trust them with almost anything
at this point, more than I could say of most code in other
languages I've used. Why do you think you can improve on that,
(or even be on par with it if you're writing the interpreter
from scratch)?


The claim starts with getting rid of the GIL of course. OS native threads
allowing pre-emption in C code and blocked IO is considered mandatory by
most for an industrial-strength server serving hundred of users
simultaneously.

Secondly we are putting optional design-by-contract features into the
language that have kept many organizations and projects away from Python.
These range from type-checking variables and functions (using interfaces
actually, not types) to classes (for contractual purposes only). Yes,
Prothon will have classes available optionally.

Thirdly we have what we believe will be a usable security model. Python's
is broken and virtually non-existant.

Fourthly a Psyco-like jit will be our standard interpreter. Python could do
this also of course.

Also we have fixed many Guido regrets and what we think Guido should have
regretted :-) Any time the language is friendlier, more expressive,
intuitive, and powerful, it is more industrial-strength.

Of course you will have to take a look at the design and judge for yourself
since we don't have a finished language like Python is. That of course is
our big advantage also. We could promise anti-gravity right now :-)

Jul 18 '05 #6
Mark Hahn wrote:
"Peter Hansen" <pe***@engcorp. com> wrote
Why do you think you can improve on that,
(or even be on par with it if you're writing the interpreter
from scratch)?

[snip reply]

Excellent reply, Mark. Thank you.
-Peter
Jul 18 '05 #7
Peter Hansen wrote:
Mark Hahn wrote:
"Peter Hansen" <pe***@engcorp. com> wrote
Why do you think you can improve on that,
(or even be on par with it if you're writing the interpreter
from scratch)?

[snip reply]

Excellent reply, Mark. Thank you.


You're no fun. I was trolling for a rip-roaring flame-war :-)

Seriously though I know those topics aren't of great interest to c.l.p. or
people here wouldn't be using Python. They are of interest to some small
niche markets though and we'll take what we can get. Thanks for asking and
being so polite.
Jul 18 '05 #8
Mark Hahn wrote:
Peter Hansen wrote:
Excellent reply, Mark. Thank you.


You're no fun. I was trolling for a rip-roaring flame-war :-)

Seriously though I know those topics aren't of great interest to c.l.p. or
people here wouldn't be using Python.


Here I think you underestimate the community, and a large number
of people in it. I think Python programmers, more than many many
other groups out there, are keenly interested in issues such as
reliability, security, and such. As but one example, the fact
that so many of us choose Python over other languages is in part
because of the greater security found in avoiding buffer overruns
and memory allocation bugs, and the reliability of knowing our
code will pretty much *never* crash the entire computer, and
that tracebacks will point us more quickly to the cause of bugs
so we can fix them. Okay, three or four examples...

My real point, though, is that Python programmers are perhaps
above all else *pragmatic*. We'll keep using Python as long as
it is so effective, even with its warts, while we either
eagerly or casually (depending on our own nature) observe
idealists like you who have the time and inclination to try
to improve things. If and when you succeed, many will probably
explore the possibility of making a shift to the new offshoot,
and the Great Tree of Computer Languages will have expanded
by one more generation. So don't assume that there isn't
interest here.

But, in the meantime, we have work to do, and Python is pretty
damn good at getting out of our way and letting us do it. (And
for the same reason, we appreciate the fact that most of the
Prothon discussion is in its own mailing list, if I can channel
the silent majority for a moment. :-)

-Peter
Jul 18 '05 #9
Peter Hansen wrote:
As but one example, the fact
that so many of us choose Python over other languages is in part
because of the greater security found in avoiding buffer overruns
and memory allocation bugs, and the reliability of knowing our
code will pretty much *never* crash the entire computer, and
that tracebacks will point us more quickly to the cause of bugs
so we can fix them. Okay, three or four examples...

Our three chief weapons are readability, security, practicality... . and
an almost fanatical devotion to the Pope! ;)

Jeff Shannon
Technician/Programmer
Credit International
Jul 18 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1395
by: Mark Hahn | last post by:
I would like to announce a new interpreted object-oriented language very closely based on Python, that is Prototype-based, like Self (http://research.sun.com/research/self/language.html) instead of class-based like Python. I have named the language Prothon, short for PROtotype pyTHON. You can check it out at http://prothon.org. The prototype scheme makes object oriented computing very simple and complicated things like meta-classes...
0
1309
by: Mark Hahn | last post by:
Ben Collins and I have developed a new interpreted object-oriented language very closely based on Python, that is Prototype-based, like Self (http://research.sun.com/research/self/language.html) instead of class-based like Python. I have named the language Prothon, short for PROtotype pyTHON. You can check it out at http://prothon.org. The prototype scheme makes object oriented computing very simple and complicated things like...
145
6292
by: David MacQuigg | last post by:
Playing with Prothon today, I am fascinated by the idea of eliminating classes in Python. I'm trying to figure out what fundamental benefit there is to having classes. Is all this complexity unecessary? Here is an example of a Python class with all three types of methods (instance, static, and class methods). # Example from Ch.23, p.381-2 of Learning Python, 2nd ed. class Multi:
27
2001
by: Michele Simionato | last post by:
> Hello, my name is Skip and I am metaclass-unaware. I've been programming in > Python for about ten years and I have yet to write a metaclass. At first I > thought it was just that metaclasses were new to the language, but now as > more and more people use them and proclaim their widespread benefits, I have > come to realize that through years of abuse my brain has become addicted to > classic classes. I began using Python since...
21
1868
by: Mark Hahn | last post by:
We're proud to say that Prothon has grown out of the indent space/tab flame war stage and has moved on to more serious discussions. We've decided to allow space-based indents and tab-based indents but not in the same file. We are also adding some improvements in the area of line continuations (see the algorithm at the end of the message). Since there were zillions of messages here on c.l.py about spaces vs. tabs and Guido has said he...
29
22168
by: Mark Hahn | last post by:
We are considering switching to the dollar sign ($) for self, instead of the period ( . ) we are using now in Prothon. Ruby uses the at-sign (@) for self, but our new usage of self also includes replacing the period for some attribute references, as in obj$func() versus obj.func(), and too many programs treat that as an email address and screw it up. Also the S in the symbol $ reminds one of the S in $elf. Can people from outside the...
28
3287
by: David MacQuigg | last post by:
I'm concerned that with all the focus on obj$func binding, &closures, and other not-so-pretty details of Prothon, that we are missing what is really good - the simplification of classes. There are a number of aspects to this simplification, but for me the unification of methods and functions is the biggest benefit. All methods look like functions (which students already understand). Prototypes (classes) look like modules. This will...
25
1827
by: Mark Hahn | last post by:
There is a new release of Prothon that I think is worth mentioning here. Prothon version 0.1.0 has changed almost beyond recognition compared to what was discussed here before. For example: the "Perl-like" symbols are gone and the "self" keyword is back, replacing the period. Prothon has gotten more "python-like", simpler, and more powerful, all at the same time. There is a new tutorial that covers Prothon completely without assuming...
22
2232
by: Paul Prescod | last post by:
I think that in this case, Python is demonstrably better than Prothon. C:\temp\prothon\Prothon>python ActivePython 2.3.2 Build 232 (ActiveState Corp.) based on Python 2.3.2 (#49, Nov 13 2003, 10:34:54) on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print 2**65 36893488147419103232
0
8403
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8316
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8610
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7345
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
4168
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4327
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2735
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1967
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1730
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.