I can't estimate an effort (it was spread for a very long time in a small parts), but you are right that the system is in a quite early state.
Being a software company owner I have some perception of the amount of work we have to put into the project.
It is really depends on the maturity of the result to be reached, and numbers differ by the order of magnitude. Cost of producing a 'play and try' distribution is affordable, and to produce some real product 10x money will be needed and it is not a budget I can afford.
"What is a file's method?" - the post I replied to was saying that nobody needs objects 'cause files are the same. I was asking in reply to show me a "file method call" to show some difference between file and object.
PS: Phanom's native language is very C++/Java alike, of course. I don't want to create a thing which looks completely alien.:)
1. It is available. To root at least. 2. Now repeat that for unrelated processes and show me the code size. 3. Now call me that file's method.
Sorry, I'm Unix programmer for 20 years now, and you're trying to sell me what I've seen all 20 years ago. I don't buy.
Now for phantom's code doing the same. That's real code from Phantom boot/test sources:
run = new.ru.dz.phantom.system.thread_test();// Create runnable object boot_object.18(run);// that's lowlevel thread start call run.store_boot_reference(boot_object);// give him something to chew
Now lets compare.
1. Mine is shorter 4-5 times. 2. Passed object is really unavailable to all the rest of the world. 3. method of passed object is available to receiver, not just some bytes. 4. class of object is known to receiver and can be used to access it's structure thriugh reflections mechanism.
It is possible to set up and make available some "posix" semantics file-like subsystem. In fact, it is very easy. So - yes, you can wrap GCC to work in Phantom. The question is is it really needed.
Hardcore Unix/GCC guys overestimate amount of C/C++ code which is to be picked up. What I REALLY want to pick up is Eclipse/Apache Java codebase. And THAT code doesn't need files too much and will easily jump into the Phantom.
You are wrong.
Show me how pointer to publicly inavailable "file" can be given from one Unix app to another, and show me this second app calling "file"'s method.
Sorry.
Say "Java". No, "Ja-a-ava". Hate Java? Say "C#" twice. Hate Java and C#? Time to say goodbye to software and come learn how to grow flowers?
No, really, in 1985 I would just beat somebody if he would say C is not the best language in the world. But that was 20 years ago, no? Time to move forward?
"Good bye to C and Assembler? Ahhh, they mean goodbye to any low level hardware I/O or custom drivers..."
Funny. Why?
PS: Just come and see how tiny AVR microchips are programmed in... BASIC. With all access to VERY low level things like separate chip pins. I hate Basic, but I have my eyes open.
It is simple. Phantom is based in bytecode execution engine, and phantasm is a direct access to that engine, the ability to write directly in bytecode. It was created early in the development process to create very first boot code and test bytecode interpreter. It is obsolete now and everything is possible from hi level language.
dz
No, I have no intention to support C++ or C.
The languages themselves do not need files. That's programs that possibly do.
I can't estimate an effort (it was spread for a very long time in a small parts), but you are right that the system is in a quite early state.
Being a software company owner I have some perception of the amount of work we have to put into the project.
It is really depends on the maturity of the result to be reached, and numbers differ by the order of magnitude. Cost of producing a 'play and try' distribution is affordable, and to produce some real product 10x money will be needed and it is not a budget I can afford.
I know.
But: the only sure way to fail is stop doing.
"What is a file's method?" - the post I replied to was saying that nobody needs objects 'cause files are the same. I was asking in reply to show me a "file method call" to show some difference between file and object.
:)
PS: Phanom's native language is very C++/Java alike, of course. I don't want to create a thing which looks completely alien.
Nope.
.ru.dz.phantom.system.thread_test(); // Create runnable object // that's lowlevel thread start call // give him something to chew
1. It is available. To root at least.
2. Now repeat that for unrelated processes and show me the code size.
3. Now call me that file's method.
Sorry, I'm Unix programmer for 20 years now, and you're trying to sell me what I've seen all 20 years ago. I don't buy.
Now for phantom's code doing the same. That's real code from Phantom boot/test sources:
run = new
boot_object.18(run);
run.store_boot_reference(boot_object);
Now lets compare.
1. Mine is shorter 4-5 times.
2. Passed object is really unavailable to all the rest of the world.
3. method of passed object is available to receiver, not just some bytes.
4. class of object is known to receiver and can be used to access it's structure thriugh reflections mechanism.
Guys, thanx for an interesting comments. I wrote some short doc about Phantom's ideas, here: http://dz.ru/en/documents/dz_phantom_whitepaper_06Feb2009_00.doc Still a brief sketch, but it can narrow the discussion a bit. :)
It is possible to set up and make available some "posix" semantics file-like subsystem. In fact, it is very easy. So - yes, you can wrap GCC to work in Phantom. The question is is it really needed. Hardcore Unix/GCC guys overestimate amount of C/C++ code which is to be picked up. What I REALLY want to pick up is Eclipse/Apache Java codebase. And THAT code doesn't need files too much and will easily jump into the Phantom.
You are wrong. Show me how pointer to publicly inavailable "file" can be given from one Unix app to another, and show me this second app calling "file"'s method. Sorry.
Persisted to the disk. No files. Really. No cheating. Think of Phantom as of Unix with the page space which is reused on the next boot.
Let me be serious and ask what do you call file extension in a system that has no files.
Say "Java". No, "Ja-a-ava". Hate Java? Say "C#" twice. Hate Java and C#? Time to say goodbye to software and come learn how to grow flowers? No, really, in 1985 I would just beat somebody if he would say C is not the best language in the world. But that was 20 years ago, no? Time to move forward?
"Good bye to C and Assembler? Ahhh, they mean goodbye to any low level hardware I/O or custom drivers ..."
Funny. Why?
PS: Just come and see how tiny AVR microchips are programmed in... BASIC. With all access to VERY low level things like separate chip pins. I hate Basic, but I have my eyes open.
It is simple. Phantom is based in bytecode execution engine, and phantasm is a direct access to that engine, the ability to write directly in bytecode. It was created early in the development process to create very first boot code and test bytecode interpreter. It is obsolete now and everything is possible from hi level language. dz