Article View: pl.comp.objects
Article #16880Re: Groovy
From: Seweryn Habdank-Wojewódzki
Date: Thu, 17 May 2007 08:10
Date: Thu, 17 May 2007 08:10
131 lines
8080 bytes
8080 bytes
Witam Piotr Kobzda wrote: >> Rozumiem. Ale nadal nie rozumiem zagrożenia, które teoretycznie coś może >> wnieść do C++ z zewnątrz. Pomijam kwestię, że Ty możesz wnieść jakieś >> śmieci w swoim kodzie. Chodzi mi o to co może zrobić ktoś z zewnątrz? > > A czym byłoby "zewnętrze" dla Ciebie, gdybyś miał oprogramować np. taką > usługę: > http://www.4java.ca/sharedTomcat.htm?PHPSESSID=acec7b605c17dd3400279ad54fec91d1 > > ? Mam swoje podejście do takich konstrukcji, oparte o zaawansowany MPI i współdzialanie procesów. Przy czym mówię o MPI na wyższym poziomie niż MPI użwane dla wieloprocesorów typu Cray, czy inne. I powiem tak, chula i jeszcze ma zaletę, że przenosi się pomiędzy komputerami w sieci, czyli nawet nie muszę usługi odpalać na głównej maszynie serwera. Ot taki rozproszony system (obiektowy). Teraz pracuję, aby zrobić MVC oparte o to dla aplikacji mających GUI, czyli odpalasz GUI zdalnie. Szyfrowanie i takie tam są jakby kwestią naturalnego pluginu w systemie. Ale dopiero mam szkielet więc nie mogę wypowiadać się o sukcesie. W każdym razie np. podpinanie wielu widoków do jednego modelu jest całkiem luzackie, poprostu odpalasz dodatkowy proces i jeśli proces macierzysty uznaje taką opcję, po prostu udostępnia dane dla dodatkowego widoku po stronie servera nic nie zmieniam. > No zważywszy, że JDK to raptem 6,5 MLOCów, powiedzieć kategoryczne nie > to oczywiście nonsens... I choć lista dotychczas wykrytych bugów w > zabezpieczeniach Javy jest zadziwiająco krótka (mam nadzieję, że już tam > trafiłeś), to jednak każdy ze zgłoszonych alertów (na dziś 342 w > "category:security" od roku 2002), to potencjalna szansa zrobienia "a ku > ku", więc na "na pewno nie" nie licz u mnie. Cieszę się, że nie idealizujesz. Dyskusja zaczyna mi się coraz bardziej podobać. > Możliwość jest, nieporównywalnie mniejsza jednak, niż w przypadku > ewidentnych dziur. Zgadza się. Ale ja nie mierzę aż tak wysoko. > No coś Ty? To co trzeba robić w tych środowiskach, to zupełnie poza > tematem, tam to nawet do zmiennoprzecinków do niedawana nie było, jak > myślisz, dlaczego? Myślisz, że w obliczu ograniczeń platformy, > dodatkowa ochrona kodu, która przecież za darmo nie jest, to rzecz > priorytetowa? No tak. Więc są potrzebne języki jakby naturalne dla takich systemów, więc potępianie wszystkiego w czambuł jest przesadą. > Java właśnie po to powstała, aby unifikować te wszystkie sposoby. Co > nie jest może zawsze pożądane, niemniej jak się okazuje, w wielu > przypadkach jest wygodne. Zgada się, ale tego nikt niepodnosił w tym wątku, a właśnie takie wymagania są stawiane dla C++, żeby był w miarę nie unifikujący. Np. standard ISO C++ wskazuje, że rzutowanie np. void* na np. void (*)() jest nie dopuszczalne. Na normalnych maszynach tak wolno dlatego kompilatory sypią tylko warningi. Bo program mieści się wtej samej pamięci co dane i wskaźnik wolno Ci tak przeinterpretowywać (rzutowanie wskaźnika z obiektu void na wskaźnik do funkcji. Ale są maszyny w architekturze Harvardzkiej, czyli pamięć danych jest czymś innym niż pamięć programu - cała masa różnych DSP. I tam to jest zabronione, nie dlatego, że takie chłopaki mają widzimisie. Tak jest sprzętowo i wymuszane bezpieczeństwem (dane procesowe mogą wylatywać, moga się nie mieścić, program ma działać, oczywiście programista powinien zadbać o to czy tamto, ale już sprzętowa separacja daje minimalną ochronę). I C++ wspiera to i warning staje się błędem. >> Są rzeczy specyficzne dla windowsa i dla unixa, i jak chcesz je >> użyć, to szybko kończysz na JNI, czy się mylę? > > Bardzo się mylisz. Większość kodu pod JVMy, przynajmniej wedle moich > danych, pisze się dziś w Javie. A jak? Może jakiś link. Mam trochę softu w C/C++ który chętnie podepnę do maszyny, czy też da się ominąć JNI? > I do tego, ja też bym Javy, o której mówimy nie użył. No więc widzisz, zaczynamy określać taką czy inną niszę gdzie C/C++ są lepsze. Nie ma znaczenia czy to jest 20 czy 10% rynku jest i stale bedzie. Tak jak języki funkcyjne mają swoją niszę, czy Prolog też ma swoje zastosowania. Tak więc nie ma co całego świata nawracać na jedyny słuszny język, bo takiego nie ma :-). Nikomu nie każę forbić frontendu do SAP'a w C++. Ale silniki baz danych raczej w Javie nie są pisane (chociaż jest taka mała baza danych napisana w Javie), ale duże bazy to już nie. > Musiałaby to być implementacja JSR-1, np. JamaicaVM > (http://www.aicas.com/jamaica.html) -- choć co do jej jakości, musiałbym > się najpierw przekonać, a nie mam jak dotąd takich potrzeb, może więc Ty > ją wypróbujesz? (W ewentualnych wynikach jestem oczywiście > zainteresowany) Przeglądałem ją jakiś czas temu i coś tam odpalałem, ale nie byłem zachwycony. Do wolnych instalacji, i to trochę specyficznych ano się nawet nadaje. Ale nie 100k sampli na sekndę, to już dla niej za wiele. Oni pokazują sterowanie robotami, ale takie coś to da się zrobić w Matlabie. Bazują na bardzo grubym założeniu, że roboty 2 i 3 generacji, mają zadawanie trajektori vektorowo, czyli mówisz jaka trajektoria o podajesz parametry tak więc zanim robot się ruszy spokojnie policzysz następną, bo ruch trwa trochę czasu. Natomiast wątpię, że laser to obsłuży, który wymaga naprawdę szybkich sterowań i wymaga bardzo dużej precyzji w samplowaniu. > A! I tu już, jak w każdym zresztą zaufanym sofcie, ochroną bym się > najmniej przejmował. No więc właśnie. O to chodzi, że czasem ficzery robią się bugami. > Nadal jednak podtrzymuję zdanie, że mieć ochronę, która w razie potrzeby > jest niezawodna (nawet jeśli tylko w teorii), jest lepiej, niż mieć ją > dziurawą (co wykazane zostało). Ale ja nie mówię, że Javę, czy C# należy wywalić w czambuł. Chociaż wolę Javę niż C# zewzględu na to, że Microsoft leje na przenoścność C#. Cieszę się, że zaczynamy wspólnie ustalać, że są miejsca gdzie jednak C++ ma miejsce i nie wypiera z tamtąd Javy, bo i tak to nie jest miejsce dla niej :-). Pozdrawiam. -- |\/\/| Seweryn Habdank-Wojewódzki \/\/
Technical Details
Message-ID:
<f2h2eq$83p$1@news.vectranet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.pl!not-for-mailReferences:
<f1tdl6$2s4$1@inews.gazeta.pl><f1todc$8s5$1@inews.gazeta.pl> <f1tss8$iq3$1@inews.gazeta.pl> <f1u2qu$1pm$1@inews.gazeta.pl> <1178922714.630317.141500@y80g2000hsf.googlegroups.com> <f22v79$3gu$1@inews.gazeta.pl> <f246sk$b8s$1@news.vectranet.pl> <f24i4s$6pe$1@inews.gazeta.pl> <f24s89$vs3$1@news.vectranet.pl> <f24u05$nnf$1@inews.gazeta.pl> <f24uor$39e$1@news.vectranet.pl> <f2586r$asf$1@inews.gazeta.pl> <f26fc9$iu6$1@news.vectranet.pl> <f287ie$354$1@inews.gazeta.pl> <f298ag$b63$1@news.vectranet.pl> <f29mdl$m5f$1@inews.gazeta.pl> <f2aa6n$cp8$1@news.vectranet.pl> <f2ad64$auv$1@inews.gazeta.pl> <f2afqc$i98$1@news.vectranet.pl> <f2ahqh$6n8$1@inews.gazeta.pl> <f2ara9$dj2$1@inews.gazeta.pl> <f2at2s$tu6$1@news.vectranet.pl> <f2au65$lsi$1@inews.gazeta.pl> <f2f094$s7p$2@inews.gazeta.pl> <f2fhdn$mq3$1@news.vectranet.pl> <f2fq3r$ifq$1@inews.gazeta.pl> <f2fudp$4kd$1@news.vectranet.pl> <f2g95t$97q$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.vectranet.pl!not-for-mail From: Seweryn Habdank-Wojewódzki <shw_mail@wp.pl> Newsgroups: pl.comp.objects Subject: Re: Groovy Date: Thu, 17 May 2007 10:10:51 +0200 Organization: VectraNET - http://www.vectranet.pl Lines: 132 Message-ID: <f2h2eq$83p$1@news.vectranet.pl> References: <f1tdl6$2s4$1@inews.gazeta.pl><f1todc$8s5$1@inews.gazeta.pl> <f1tss8$iq3$1@inews.gazeta.pl> <f1u2qu$1pm$1@inews.gazeta.pl> <1178922714.630317.141500@y80g2000hsf.googlegroups.com> <f22v79$3gu$1@inews.gazeta.pl> <f246sk$b8s$1@news.vectranet.pl> <f24i4s$6pe$1@inews.gazeta.pl> <f24s89$vs3$1@news.vectranet.pl> <f24u05$nnf$1@inews.gazeta.pl> <f24uor$39e$1@news.vectranet.pl> <f2586r$asf$1@inews.gazeta.pl> <f26fc9$iu6$1@news.vectranet.pl> <f287ie$354$1@inews.gazeta.pl> <f298ag$b63$1@news.vectranet.pl> <f29mdl$m5f$1@inews.gazeta.pl> <f2aa6n$cp8$1@news.vectranet.pl> <f2ad64$auv$1@inews.gazeta.pl> <f2afqc$i98$1@news.vectranet.pl> <f2ahqh$6n8$1@inews.gazeta.pl> <f2ara9$dj2$1@inews.gazeta.pl> <f2at2s$tu6$1@news.vectranet.pl> <f2au65$lsi$1@inews.gazeta.pl> <f2f094$s7p$2@inews.gazeta.pl> <f2fhdn$mq3$1@news.vectranet.pl> <f2fq3r$ifq$1@inews.gazeta.pl> <f2fudp$4kd$1@news.vectranet.pl> <f2g95t$97q$1@inews.gazeta.pl> Reply-To: shw_mail@wp.pl NNTP-Posting-Host: 82.139.21.12 Mime-Version: 1.0 X-Trace: news.vectranet.pl 1179389210 8313 82.139.21.12 (17 May 2007 08:06:50 GMT) X-Complaints-To: usenet@news.vectranet.pl NNTP-Posting-Date: Thu, 17 May 2007 08:06:50 +0000 (UTC) User-Agent: KNode/0.10.4 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit