Komentarze
ciekawe czy bedzie mozna odpalac aplikacje pod windows pod midori w jakims trybie emulacji chociaz. No i ciekawe kiedy to powstanie? Pred 2010? 2012?
mgk,
30 lipca 2008, 13:45
no i jeszcze jedno. Skoro OS jest w C# caly to ciekawe jak bedzie z Java. Aplikacje w Javie beda dzialac na maszynie wirtualnej Javy ktora bedzie dzialac na.... maszynie wirtualnej C# (CIL) ? bez jaj.
mgk,
30 lipca 2008, 14:56
A jak ma byc? Normalnie bedzie - przecie jezyk w jakim programujesz nie ma znaczenia bo pozniej przecie kompilujesz ten kod na kod maszynowy.
Duke,
30 lipca 2008, 15:18
Wlasnie nie. Nie ma czegos takiego jak kod maszynowy tu. Przynajmniej z tego co czytalem to idea jest taka, ze jak piszesz w jezykach jak Java, C# to juz jezyk/maszyna wirtualna zapewnia bespieczenstwo typu ze nie da sie pisac po nie swojej pamieci, pisac do null itp. I teraz po co system/sprzet ma dbac dodatkowo o to, jak juz maszyna wirtualna to robi? No wiec idea jest taka by zrobic OS ktory juz jest jakby maszyna wirtualna dla aplikacji w C# (Midori), czy Java (Jx) tyle ze wtedy bys na takim OS nie mogl skompilowac z C++ do kodu maszynowego... bo tu kodem maszywym wlasnie jest CIL (Midori), czy bytecode (Jx).
@Duke,
30 lipca 2008, 15:39
Mylisz się :) Jezyki wyzszego poziomu roznia sie tym w jaki sposob kompiluja sie na jezyk maszynowy. Co do pamieci to czesciowo masz racje w c trzeba bardziej uwazac na zarzadzanie pamiecia niz w j - ale przez to ciezej jest na niej operowac jezeli chcesz jej uzywac w jakis tam swoj wymyslny sposob.
Duke,
4 sierpnia 2008, 09:53
@Duke. Nie tlumacz mi co to jezyk wysokiego poziomu bo latami pisalem programy w C, C++, a teraz w Javie. Nie rozumiesz o co mi chodzi. Kiedys jezykiem wysokiego poziomu byly jezyki takie jak C, Pascal itp. I sie je kompilowalo do kodu maszynowego. A dzis jezykami takimi jak Java, C# to cos wiecej niz tamte jezyki wysokiego poziomu. Nie kompilujesz ich do kodu maszynowego tylko do kodu maszyny wirtualnej (javy, lub .Net). Dopiero potem w locie maszyna po kawalku moze kompilowac do kodu maszynowego. Ale oprocz kodu maszynowego masz jeszcze cale API systemu operacyjnego i wiele innych rzeczy. Dlaczego aplikacje 16bit nie odpalisz na win64? Przeciez jest w kodzie maszynowym. Ano wlasnie dlatego. To samo jesli system bedzie wspieral tylko .Net to aplikacje pisane z wywolaniami WinApi sie juz nie odpala. W systemach jak JX czy wlasnie w Midori ma chodzic o to, by nie dublowac czesci rzeczy ktore juz robi wirtualna maszyna (po co ma jeszcze je robic system). Ochrona pamieci byla by tylko na poziomie wirtualnej maszyny a nie na poziomie sprzet-system. A gdyby nie bylo tej ochrony na poziomie sprzet-system to juz nie odpalisz starej aplikacji ktore tego wymagaja. Proste. Co z tego ze sa w kodzie maszynowym maszyny. Tak samo jak aplikacji pod dos nie odpalisz juz na viscie, czy 16bit na 64bit.
mgk,
5 sierpnia 2008, 08:59
@Duke. Juz wiem jak Ci wytlumacze. Jak masz aplikacje pod Windows i pod Linuxa. To obie sa w kodzie maszynowym x86 przeciez. A mimo to aplikacji napisanej pod Linuxa nie odpalisz pod Windows i w druga strone. Tak samo jak masz aplikacje w Javie to ona nie jest pisana ani pod system Windows, ani pod Linux a pod Java Framework i musisz miec zainstalowana Jave to odpalisz ja i na Windows i na Linux wewnatrz wirtualnej maszyny. Identycznie jest z C# z .Net. .Net to cos takiego jak wirutalna maszyna Javy. To jest maszyna i framework. Aplikacje piszesz juz nie pod Windows, czy Linux a pod .Net. Jak system ma zainstalowany .Net (Mono w przypadku Linuxa) to wtedy odpalisz wewnatrz wirtualnej maszyny. Ale jak teraz masz system ktory sam juz jest maszyna wirtualna .Net to w nim nie ma mozliwosci odpalania aplikacji pisanych nie pod .Net a pod Windows (czyli uzywajacych winApi itp).
mgk,
5 sierpnia 2008, 09:28
Nie wiem co ty komu chcesz przekazac i kogo uczyc ale spoko jezeli maszynę wirtualna ( zbior obiektow i klas) chcesz traktowac jako cel programowania komputera to OK niech twoja teoria bedzie prawdziwa. Widze poprostu ze ostatnio zaczales cos tam stukac w J czy tam J# i odkrywasz pseudo "prostote" programowania w tych jezykach i jakze fajna obsluge watkowosci i zarzadzania pamiecia ( mnie osobiscie nie przypadl do gustu - wole juz prosty styl Visual Basic niz bezsensowna nauke nowego jezyka :/ )
Duke,
5 sierpnia 2008, 13:54
PS: To nie jest zaden atak na nikogo - ot moje przemyslenia ze wole C i VB niz J. W C++ mam wrazenie ze kontroluje od poczatku do konca to co robie a jak chce zrobic cos prostego z okienkowym interfejsem to VB na razie mi wystarcza. Zreszta.... poco komu to programowanie - malo kasy ostatnio z tego jest ;/
Duke,
5 sierpnia 2008, 15:33
@Duke. Ale o czym Ty mowisz. Ja nie mowie o zadnych porownaniu jaki jezyk lepszy. Ty mowisz, ze odpale na Midori kazda aplikacje, bo wystarczy ze jest skapilowana pod x86. A ja Ci tlumacze ze nie wystarczy. Pod Midori bedzie mozna odpalac jedynie kod zarzadzany skompilowany do CIL (a nie do x86). Api systemu to bedzie .Net framework. Nie bedzie winapi, nie bedzie wsparcia dla aplikacji kompilowanych do x86.
mgk,
6 sierpnia 2008, 08:48
@Duke. Czyli jakbys chcial swoja aplikacje w C++ skompilowac pod Midori to tez nie mozesz. Musialbys uzyc tego C++ wersji pod .Net. Czyli z uzyciem tylko klas z platformy .Net i z ograniczonymi operacjami na wskaznikach.
mgk,
6 sierpnia 2008, 09:00
Nic takiego nie napisalem - cos mi wmawiasz. Napisalem tylko ze jezyki zmieniaja kod zrozumialy dla czlowieka w kod maszynowy. Jak chce zeby program w C dzialal na inna platorme musze poprostu uzyc kompilatora ktory zrozumie moj kod i przetworzy go na kod maszynowy zrozumialy dla innej platformy. Ot co.
PS: Na .Net jest C#.
Duke,
6 sierpnia 2008, 10:21
@Duke. No a przeczytaj co ja napisalem na samym poczatku. Zadalem pytanie o Jave, a Ty napisales, ze sobie ja mozna skompilowac do kodu maszynowego i odpalic tak jak sie kompilowalo kod C++ na windows czy linux... Pod .Net nie mozesz skompilowac ani z C++ ani Javy. Po za tym ani Javy, ani C# sie nie kompiluje do kodu maszynowego. Dlatego moje pytanie jest sluszne. Co w takim razie z kompatybilnoscia ze starszymi aplikacjami ktore nie sa napisane pod .Net, i co z takimi technologiami jak np Java.
mgk,
6 sierpnia 2008, 13:28
@Duke: Twoje zdanie "A jak ma byc? Normalnie bedzie - przecie jezyk w jakim programujesz nie ma znaczenia bo pozniej przecie kompilujesz ten kod na kod maszynowy." Swiadczy poprostu o tym, ze nie wiesz co to kod posredni jak dziala maszyna virtualna, byte code, CLI, .Net. A nawet jak wiesz to poprostu napisales tak jakbys nie wiedzial, bo sugerujesz mi skompilowanie kodu Javy do x86... i odpalenie kodu x86 na maszynie CLI (.Net)... Takze nie bylo by tej rozmowy gdyby nie twoja odpowiedz (bynajmniej dziwna...).
mgk,
6 sierpnia 2008, 13:32
Chcesz cos na siłę mi udowodnic ze się tak burzysz? Napisalem ze bedzie tak jak ma byc - nic sie nie zmieni skoro i tak do odpalenia Javy potrzebujesz maszyny wirtualnej. Niewiem co cie tak zdziwilo z ta platforma dotnet w Midori. Przeciez to chyba jasne ze nie bedziesz instalowal zadnej maszyny tylko poprostu szkielet systemu jest napisany za pomoca tych instrukcji i zaimplementowany w systemie. Idetycznie jest ze starszymi wersjami Windy napisanymi w C. Po ich skompilowaniu nie ma znaczenia czy chodzi na tym Java czy inny syf. Chodzilo mi w tylko o to ze pomyliles pojecia skompilowanego systemu z maszyna wirtualna. Jezeli napisze swojego windowsa w Turbo Pascalu i zaimplementuje tam jego kompilator to czy ograniczy nas to do Jezyka w jakim go oprogramuje pozniej czy tez nawet do Frameworka w jakim to zrobie?
Duke,
6 sierpnia 2008, 15:11
@Duke. Nie masz racji bo Midori nie jest tylko napisany w C#, ale aplikacje pod niego rowniez musza byc .Net. Oto fragment z benchmark.pl "Aplikacje dla Midori miałyby być pisane przy użyciu platformy .NET – oznaczałoby to, że byłyby częściowo interpretowane, co wiązałoby się z większym bezpieczeństwem i lepszą obsługą wielu wątków, ale za cenę ogólnie niższej wydajności." To samo pisze na wikipedi angielskiej.
mgk,
6 sierpnia 2008, 17:00
Nom mozliwe ale pewnie dlatego ze .NET bylby w nim juz zaimplementowany (marketing gora) - wiec zalecane bylo by pisanie w tych jezykach. Pozatym moze lepiej poczekac bo za kazdym razem wychodza sprzeczne oswiadczenia i plotki - pamietam jeszcze jak mial to byc "pierwszy internetowy OS" ;">
Duke,
6 sierpnia 2008, 20:01
@Duke: ok.
mgk,
6 sierpnia 2008, 21:21