open All Channels
seplocked EVE Information Portal
blankseplocked New Blog, Porkbelly on the Stackless Python Upgrade
 
This thread is older than 90 days and has been locked due to inactivity.


 
Pages: [1] 2

Author Topic

CCP kieron

Posted - 2007.07.20 19:20:00 - [1]
 

EVE is a complex piece of work. In one of his Dev Blogs from last year, Oveur mentioned that EVE has over 1 million lines of code. With Revelations 1 and 2 published, that number stands to be a lot higher.

As some of the more technically inclined members of the community know, EVE is written in a programming language called Stackless Python, an experimental implementation of Python. CCP has been working with the Python community to improve Python, not only to benefit EVE, but also the language itself.

Tuesday's Revelations 2.1 patch deployment will also include a major update to the language in which EVE is written. To give the EVE community some history behind Tuesday's upgrade from Stackless Python version 2.3 to 2.5, Porkbelly has a new Dev Blog.

Adrielle Firewalker
Minmatar
Amarr Will Eat Itself
Posted - 2007.07.20 19:33:00 - [2]
 

I thought CCP were moving away from using Python and focusing more in the C++ side of things?

Oh well, an upgrade is good if it offers more speed and stability Smile

Alvara
Kuiper Belt Industries
Empire Research
Posted - 2007.07.20 19:33:00 - [3]
 

Amazing, this might be first post. ;)

Anyways. as a programmer I am always excited by new languages.
I sure hope there ain't a poorly documented internal change that craps on eve's server completely. :p

Good luck.

btw.
If I learn that language can I have a job. ;)

Ramblin Man
Empyreum
Posted - 2007.07.20 19:35:00 - [4]
 

Python 4tw. Nice to see you guys helped the wider dev community out.

Dietes Marcellus
Posted - 2007.07.20 19:53:00 - [5]
 

GO CCP!

Victor Valka
Caldari
The Kairos Syndicate
Transmission Lost
Posted - 2007.07.20 19:55:00 - [6]
 

Edited by: Victor Valka on 20/07/2007 19:57:23
Originally by: Adrielle Firewalker
I thought CCP were moving away from using Python and focusing more in the C++ side of things?
AFAIK Stackless is used server-side, not client-side.

EDIT: Furthermore, as any half-decent programmer will tell you, there is no One Language to Rule Them All. Wink

Adrielle Firewalker
Minmatar
Amarr Will Eat Itself
Posted - 2007.07.20 19:58:00 - [7]
 

Originally by: Victor Valka
AFAIK Stackless is used server-side, not client-side.


Ah right. I was thinking of a blog a looong time ago where they were shifting a lot of the agent missions stuff from Python to C++. This makes sense Smile

Herio Mortis
Dark Nebula Academy
O X I D E
Posted - 2007.07.20 20:03:00 - [8]
 

Originally by: Victor Valka
Edited by: Victor Valka on 20/07/2007 19:57:23
AFAIK Stackless is used server-side, not client-side.

EDIT: Furthermore, as any half-decent programmer will tell you, there is no One Language to Rule Them All. Wink

Stackless python is also used in the client.
And you are correct, there is no one language to rule them all. (Except python, that is.Laughing)

Victor Valka
Caldari
The Kairos Syndicate
Transmission Lost
Posted - 2007.07.20 20:11:00 - [9]
 

Originally by: Herio Mortis

Stackless python is also used in the client.
And you are correct, there is no one language to rule them all. (Except python, that is.Laughing)


(0) You could be right, I could be wrong.
(1) It can be confusing sometimes. Especially with variable types. Sometimes I miss the clear definition of C/C++. Maybe because I'm only a rookie programmer, maybe not. Meh.

Razz

Evelgrivion
Gunpoint Diplomacy
Posted - 2007.07.20 20:12:00 - [10]
 

Needs more Cowbell!

Al'Lan Mandragoran
Posted - 2007.07.20 20:13:00 - [11]
 

Originally by: Herio Mortis
Originally by: Victor Valka
Edited by: Victor Valka on 20/07/2007 19:57:23
AFAIK Stackless is used server-side, not client-side.

EDIT: Furthermore, as any half-decent programmer will tell you, there is no One Language to Rule Them All. Wink

Stackless python is also used in the client.
And you are correct, there is no one language to rule them all. (Except python, that is.Laughing)


You got it almost right. There is no One language to rule them all, except Ruby.


Ampoliros
Aperture Harmonics
K162
Posted - 2007.07.20 20:19:00 - [12]
 

These patch notes contain insufficient amounts of cowbell.

Scorpyn
Caldari
Infinitus Odium
Posted - 2007.07.20 21:32:00 - [13]
 

Originally by: Ampoliros
These patch notes contain insufficient amounts of cowbell.

Indeed. I don't see how it could contain enough though - more is always needed.

(yay for desync fix btw (if it works properly))

Roemy Schneider
Vanishing Point.
Posted - 2007.07.21 06:23:00 - [14]
 

i got a fever and the only prescription is mor cowbell

rodgerd
Queens of the Stone Age
Rote Kapelle
Posted - 2007.07.21 06:28:00 - [15]
 

Originally by: Adrielle Firewalker
Ah right. I was thinking of a blog a looong time ago where they were shifting a lot of the agent missions stuff from Python to C++. This makes sense Smile


They were moving the mission authoring system from one which required Python to one that didn't require any programming expertise.

Cergorach
Amarr
The Helix Foundation
Posted - 2007.07.21 08:51:00 - [16]
 

In the past it was mentioned that the Eve server software couldn't take advantage of multi cpu/core, will this change with this new version of (Stackless) Python? I googled Stackless Python on it, but to be honest, i couldn't find a clear answer. If not is this a priority at the CCP development team to get eve to scale better?


Kweel Nakashyn
shadow and cloaking
Yggdrasill.
Posted - 2007.07.21 11:05:00 - [17]
 

I don't like interpreted languages, especially when it comes to online games. I think these particuliars app (ie online games) must have compilated language to work fast. You should have coded this part in c++...

Anyway, any perf boost in this language is a good thing for us. Have fun with non-regression and qualification tests :)

Sarturus
Posted - 2007.07.21 12:28:00 - [18]
 

Originally by: Kweel Nakashyn
I don't like interpreted languages, especially when it comes to online games. I think these particuliars app (ie online games) must have compilated language to work fast. You should have coded this part in c++...


I think it's more important to choose a language that allows you to focus on design Smile

Python has a lot more expressive power than C++... and the benchmarks on Stackless Python are very nice indeed performance wise.

Optimisation comes from a higher level than compilation imho Smile


Stackless 2.5 ftw! Very Happy

RedClaws
Amarr
Macabre Votum
Morsus Mihi
Posted - 2007.07.21 12:33:00 - [19]
 

Heya Kieron,

Small question here: I just got my diploma as a professional bachelor in informatics and I want to learn some more languages (Java and .NET don't really cut it for advanced programming, especially 3D) so now I'm looking into Python since I've heard a lot of people say it's a very promising language close to C++.

Can you give me a tip on what development environment to use? Code completion, syntax highlighting and such are just too handy to leave out.

I've looked into a few like Wing, PyDev and Komodo but I'd like to get a professional opinion aswell Very Happy

flameangel
Posted - 2007.07.21 16:44:00 - [20]
 

"This Blog entry does not exist"

Confused

Liang Nuren
Posted - 2007.07.21 18:27:00 - [21]
 

Originally by: Kweel Nakashyn
I don't like interpreted languages, especially when it comes to online games. I think these particuliars app (ie online games) must have compilated language to work fast. You should have coded this part in c++...

Anyway, any perf boost in this language is a good thing for us. Have fun with non-regression and qualification tests :)


Thought I'd point out that as a developer for the Python project, this is kindof insulting. Python, and Stackless in particular, are written with an eye towards correctness - and then speed. Python's test suite is fairly comprehensive, and I can only assume that CCP has moved forward with this practice.

Furthermore, the propensity towards bugs is much higher in lower level languages. There's more to keep track of, and error checking is simply brutal. And then, once you top a few million lines of source, it's just that much harder to get "the big picture", so to speak. Developing in a an expressive and concise language (such as Python, imho) allows a developer to grok a much larger piece of the code immediately. It also helps them to write less buggy code.

But in the end, you're saying that, instead of writing a million lines of Python, and 2 million lines of C/C++, that they should have written 8 million lines of C++? That's likely twice as buggy as the (clearer, condensed, and reasonably fast) Python code?

Sure, sounds smart to me. Laughing

Liang

MotherMoon
Huang Yinglong
Posted - 2007.07.21 19:13:00 - [22]
 

Originally by: flameangel
"This Blog entry does not exist"

Confused

yeah wierd

MotherMoon
Huang Yinglong
Posted - 2007.07.21 19:19:00 - [23]
 

Originally by: Liang Nuren
Originally by: Kweel Nakashyn
I don't like interpreted languages, especially when it comes to online games. I think these particuliars app (ie online games) must have compilated language to work fast. You should have coded this part in c++...

Anyway, any perf boost in this language is a good thing for us. Have fun with non-regression and qualification tests :)


Thought I'd point out that as a developer for the Python project, this is kindof insulting. Python, and Stackless in particular, are written with an eye towards correctness - and then speed. Python's test suite is fairly comprehensive, and I can only assume that CCP has moved forward with this practice.

Furthermore, the propensity towards bugs is much higher in lower level languages. There's more to keep track of, and error checking is simply brutal. And then, once you top a few million lines of source, it's just that much harder to get "the big picture", so to speak. Developing in a an expressive and concise language (such as Python, imho) allows a developer to grok a much larger piece of the code immediately. It also helps them to write less buggy code.

But in the end, you're saying that, instead of writing a million lines of Python, and 2 million lines of C/C++, that they should have written 8 million lines of C++? That's likely twice as buggy as the (clearer, condensed, and reasonably fast) Python code?

Sure, sounds smart to me. Laughing

Liang


thanks for the info.

Gar Nomar
Posted - 2007.07.21 20:48:00 - [24]
 

Rolling Eyes Hey, you never know... perhaps the speed boost in 2.5 will get EVE back to what it was when it ran with 2.1! Rolling Eyes

Tarminic
Dreddit
Test Alliance Please Ignore
Posted - 2007.07.21 21:59:00 - [25]
 

Originally by: Liang Nuren
Originally by: Kweel Nakashyn
I don't like interpreted languages, especially when it comes to online games. I think these particuliars app (ie online games) must have compilated language to work fast. You should have coded this part in c++...

Anyway, any perf boost in this language is a good thing for us. Have fun with non-regression and qualification tests :)


Thought I'd point out that as a developer for the Python project, this is kindof insulting. Python, and Stackless in particular, are written with an eye towards correctness - and then speed. Python's test suite is fairly comprehensive, and I can only assume that CCP has moved forward with this practice.

Furthermore, the propensity towards bugs is much higher in lower level languages. There's more to keep track of, and error checking is simply brutal. And then, once you top a few million lines of source, it's just that much harder to get "the big picture", so to speak. Developing in a an expressive and concise language (such as Python, imho) allows a developer to grok a much larger piece of the code immediately. It also helps them to write less buggy code.

But in the end, you're saying that, instead of writing a million lines of Python, and 2 million lines of C/C++, that they should have written 8 million lines of C++? That's likely twice as buggy as the (clearer, condensed, and reasonably fast) Python code?

Sure, sounds smart to me. Laughing

Liang

/signed Very Happy

CCP kieron

Posted - 2007.07.23 15:24:00 - [26]
 

I had to take the blog down over the weekend, as it had been published prematurely. The blog has been completed and re-published with more information. Enjoy!

Turiya Flesharrower
Caldari Provisions
Posted - 2007.07.23 16:28:00 - [27]
 

To hell with Python! I want the Eve server code ported to Erlang forthwith, if not sooner!

MotherMoon
Huang Yinglong
Posted - 2007.07.23 17:10:00 - [28]
 

Originally by: Turiya Flesharrower
To hell with Python! I want the Eve server code ported to Erlang forthwith, if not sooner!


gave me a good laugh.
oh man how old is that :P
lol

Invictor
Black Reign
The Five
Posted - 2007.07.23 18:08:00 - [29]
 


Well tbh, I didn't understand the vast majority of the post as I have difficulty programming my DVD playerEmbarassed but if Eve runs faster then I'm all up for it Very Happy

Ashp
Posted - 2007.07.23 18:12:00 - [30]
 

Aww, I was still hoping for graphs and numbers, like some CPU charts of a node with the old code vs the new code. Still, glad to see the move to the latest python. I take it you guys are going to try harder to keep up to date with newer python releases, so it doesn't drift away again?

(Ps, excited about Python3k yet?) :)


Pages: [1] 2

This thread is older than 90 days and has been locked due to inactivity.


 


The new forums are live

Please adjust your bookmarks to https://forums.eveonline.com

These forums are archived and read-only