A site like this, but for language development?
Re: A site like this, but for language development?
Yeah I saw that but doesn't seem very active? I wished for a more community driven site. Or like the OP said, "like this".
Re: A site like this, but for language development?
There's already active discussion going, there's no need for new discussion forum, and you can get information from books and articles. Okay, some kind of wiki or something could make searching for information easier, but is there enough people to make that kind of thing happen? I would answer no.
Re: A site like this, but for language development?
Yeah you might be right about that. It's strange to me tho - as operating system development seems fairly dead in the commercial world. Few companies are designing new operating systems. The most innovative thing that happens is GOOG writing a new window manager for Linux. In language design, on the other hand, there is a huge amount of innovation and research going on. But this is not reflected amongst hobbyist.fronty wrote:There's already active discussion going, there's no need for new discussion forum, and you can get information from books and articles. Okay, some kind of wiki or something could make searching for information easier, but is there enough people to make that kind of thing happen? I would answer no.
The most interesting thing I've found is http://nemerle.org/About/
Re: A site like this, but for language development?
bonch wrote:Yeah you might be right about that. It's strange to me tho - as operating system development seems fairly dead in the commercial world. Few companies are designing new operating systems. The most innovative thing that happens is GOOG writing a new window manager for Linux. In language design, on the other hand, there is a huge amount of innovation and research going on. But this is not reflected amongst hobbyist.fronty wrote:There's already active discussion going, there's no need for new discussion forum, and you can get information from books and articles. Okay, some kind of wiki or something could make searching for information easier, but is there enough people to make that kind of thing happen? I would answer no.
The most interesting thing I've found is http://nemerle.org/About/
kernel development is extremely hard, information is limited, unorganized and out of date making it a very specialist area. plus i think we've hit the "good enough" stage of development.
having said that there has been some great work in research for 3rd gen microkernels and us hobby folk are still plodding along trying new things.
Re: A site like this, but for language development?
If you were to expand the topic from language dev to VM design then you would have a large following. There are tons of emulators written by hobbyists and it is quite fun. Having said that though, it is almost every 9 year old's dream to write an OS (or a window manager which they an call an OS) where as language dev is kind of the thing that lies around at the back of peoples minds. Why couldn't c++'s class interface have been better? Python is awesome but its slow! kind of thing. Also OSes tend to implement the same thing (paging, etc.) and are long term projects where as it takes 20 minutes to write a brainfuck interpreter/compiler in c++ and there about a quadrillion different techniques in use.
Get back to work!
Github
Github
- Love4Boobies
- Member
- Posts: 2111
- Joined: Fri Mar 07, 2008 5:36 pm
- Location: Bucharest, Romania
Re: A site like this, but for language development?
Python is a language (which does not impose any performance requirements), not a compiler. That's like saying English is slow. E.g., a compiled Python implementation will result in much faster programs than, say, a Python interpreter. However, I can think of reasons why Python isn't so great; reference counting is at the top of the list.ACcurrent wrote:Python is awesome but its slow!
It should take 20 minutes to write 10 lines of code.ACcurrent wrote:it takes 20 minutes to write a brainfuck interpreter/compiler in c++ and there about a quadrillion different techniques in use.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
[ Project UDI ]
Re: A site like this, but for language development?
As you sayed before Python is language (which does not impose any implementation details). Which is like saying carving English into stone is not that lightweight implementation. Not all python compilers (better say not all target VMs) use reference counting for garbage collection and most that does also implement other methods to detect reference loops.Love4Boobies wrote:Python is a language (which does not impose any performance requirements), not a compiler. That's like saying English is slow. E.g., a compiled Python implementation will result in much faster programs than, say, a Python interpreter. However, I can think of reasons why Python isn't so great; reference counting is at the top of the list.ACcurrent wrote:Python is awesome but its slow!
50₰
- Love4Boobies
- Member
- Posts: 2111
- Joined: Fri Mar 07, 2008 5:36 pm
- Location: Bucharest, Romania
Re: A site like this, but for language development?
I was expecting that argument. The problem, however, is that programming languages can be either prescriptively defined (i.e., defined via formal specifications; e.g., C) or descriptively defined (i.e., defined by the existing implementations and the body of existing code; e.g., PHP). As they gain popularity, many languages that start in the latter category eventually move to the former because as you get more implementations, consensus becomes more important and to form consensus, specifications become more important and more abstract. Python is currently in the uncomfortable transition period.
To illustrate my point, I'll use C as an example. In the past, certian things, such as passing structures to functions, sometimes worked and sometimes didn't. Because a lot of code relied on such behavior, the specification had to incorporate support for it. This was fortunate... now ask yourself whether the inclusion of gets in the standard library is as fortunate (luckly, C1X finally dropped it). Similarly, there's a lot of code that relies on reference couting.
To illustrate my point, I'll use C as an example. In the past, certian things, such as passing structures to functions, sometimes worked and sometimes didn't. Because a lot of code relied on such behavior, the specification had to incorporate support for it. This was fortunate... now ask yourself whether the inclusion of gets in the standard library is as fortunate (luckly, C1X finally dropped it). Similarly, there's a lot of code that relies on reference couting.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
[ Project UDI ]
Re: A site like this, but for language development?
Python, as a language, does impose several restrictions on the interpreter, compiler, etc. that impact performance. In the general case, Python cannot be as fast as, for example, C, because of the facilities that must be available to the programmer.Love4Boobies wrote:Python is a language (which does not impose any performance requirements), not a compiler. That's like saying English is slow. E.g., a compiled Python implementation will result in much faster programs than, say, a Python interpreter. However, I can think of reasons why Python isn't so great; reference counting is at the top of the list.ACcurrent wrote:Python is awesome but its slow!
- Love4Boobies
- Member
- Posts: 2111
- Joined: Fri Mar 07, 2008 5:36 pm
- Location: Bucharest, Romania
Re: A site like this, but for language development?
The reason you think that is that you're making assumptions about the underlying platform, whereas Python is a portable language. For instance, have you tried comparing x86 (RISC architecture with a CISC ISA layer on top) to Itanium (VLIW architecture where compiler hints are an intimate part of the design; many other examples exist) to picoJava (which natively runs the managed Java bytecode; many other examples exist) to CPUs that natively run high-level languages (I've heard of quite a few CPUs that natively run Pascal or other languages, but the most relevant to this discussion is probably PyMite)?
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
[ Project UDI ]
Re: A site like this, but for language development?
http://morepypy.blogspot.com/2011/08/py ... tring.htmlRusky wrote:Python, as a language, does impose several restrictions on the interpreter, compiler, etc. that impact performance. In the general case, Python cannot be as fast as, for example, C, because of the facilities that must be available to the programmer.
Even trough you could speed C up by doing some manual optimization that example shows that your Thesis is false.
50₰
- Combuster
- Member
- Posts: 9301
- Joined: Wed Oct 18, 2006 3:45 am
- Libera.chat IRC: [com]buster
- Location: On the balcony, where I can actually keep 1½m distance
- Contact:
Re: A site like this, but for language development?
You only proved there exists lousy C programmers.
Re: A site like this, but for language development?
Rule: Don't believe statistics you didn't make up yourself.
Profiling corollary: Don't believe the benchmarks of anyone who is actively involved in only one of the two technologies benchmarked.
Insight: If two languages are sufficiently different in concept, it is impossible to find a piece of code for both of them that is 1) non-trivial, 2) functionally equivalent, 3) the optimum way to solve an actual problem in both of them at the same time.
I can go about proving how this or that string operation or 1..10000 loop is faster in either language. That doesn't tell much about overall performance. Pascal strings are very much faster than C strings if you're concatenating them or checking their length. Does that make Pascal the more efficient language overall? C++ sort() beats the living daylights out of C qsort(). Does that make C++ the more efficient language overall?
Profiling corollary: Don't believe the benchmarks of anyone who is actively involved in only one of the two technologies benchmarked.
Insight: If two languages are sufficiently different in concept, it is impossible to find a piece of code for both of them that is 1) non-trivial, 2) functionally equivalent, 3) the optimum way to solve an actual problem in both of them at the same time.
I can go about proving how this or that string operation or 1..10000 loop is faster in either language. That doesn't tell much about overall performance. Pascal strings are very much faster than C strings if you're concatenating them or checking their length. Does that make Pascal the more efficient language overall? C++ sort() beats the living daylights out of C qsort(). Does that make C++ the more efficient language overall?
Every good solution is obvious once you've found it.
Re: A site like this, but for language development?
Additionally, that PyPy sample relies on not providing the information available, in general, to Python programs.
As I said, in the general case, Python is slower. Even if you had a Python processor, you still have to deal with dynamic typing, reflection/everything-as-dictionaries, etc. You can get rid of that in some cases, but there's a reason PyPy came up with RPython.
As I said, in the general case, Python is slower. Even if you had a Python processor, you still have to deal with dynamic typing, reflection/everything-as-dictionaries, etc. You can get rid of that in some cases, but there's a reason PyPy came up with RPython.
Re: A site like this, but for language development?
You take it much to far i only want to prove that the thesis „Python cannot be as fast as, for example, C“ is wrong.Solar wrote:Rule: Don't believe statistics you didn't make up yourself.
Profiling corollary: Don't believe the benchmarks of anyone who is actively involved in only one of the two technologies benchmarked.
Insight: If two languages are sufficiently different in concept, it is impossible to find a piece of code for both of them that is 1) non-trivial, 2) functionally equivalent, 3) the optimum way to solve an actual problem in both of them at the same time.
I can go about proving how this or that string operation or 1..10000 loop is faster in either language. That doesn't tell much about overall performance. Pascal strings are very much faster than C strings if you're concatenating them or checking their length. Does that make Pascal the more efficient language overall? C++ sort() beats the living daylights out of C qsort(). Does that make C++ the more efficient language overall?
Given an language L1 that is faster as an language L2 in some tasks an slower in other tasks. An language L3 will be faster as booth language if (optimal) translators are available that can translate code in L3 to L1 and L2.
50₰