Projekt Eclipse ogłosił dostępność nowej platformy programistycznej Eclipse Mars. Jest to dziesiąte wydanie środowiska graficznego, a zarazem 10 letnia historia rozwoju świetnego oprogramowania to przygotowywania projektów w Javie. Społeczność deweloperów składa się z 380 osób, ale sam projekt czerpie zmiany z 79 innych programów open source. W najnowszej odsłonie dodano sporo nowych funkcji, w tym: poprawki dla Java 8, hierarchiczną prezentację dla zagnieżdżonych projektów w Eksploratorze Projektu, możliwość tworzenia własnych perspektyw, a także zwiększono szybkość przeszukiwania tekstu.
Projekt Linux Tools otrzymały możliwość tworzenia i zarządzania kontenerami/obrazami Dockera.
Sporą nowością jest projekt Oomph, który ułatwia instalację środowiska Eclipse oraz provisioning specyficznych przestrzeni roboczych dla konkretnych projektów. Dodatkowo można bez problemów zapisywać i współdzielić ustawienia użytkownika pomiędzy różnymi przestrzeniami roboczymi.
Sirius 3.0 wprowadza nowe funkcje, która mają ułatwić użytkownikom tworzenie diagramów. Zwiększono także szybkość działania przy wielkich modelach. Udoskonalono zapytania języka, aby ułatwić pisania i sprawdzanie wyrażeń.
Projekt Jabula wypuścić API Klienta, które pozwala deweloperom na tworzenie testów jednostkowych w Javie, w środowisku Eclipse. Programiści mogą przechowywać takowe testy w repozytoriach takich jak Git.
Pojawiła się wstępna obsługa języka Java 9 w Eclipse z poziomu Eclipse Marketplace.
Dodano opcję automatycznego zgłaszania błędów. W momencie wystąpienia jakiejkolwiek nieprawidłowości w działaniu Eclipse, użytkownik zostaje poproszony o udzielenie pozwolenia na wysłanie stosownego raportu dotyczącego błędu do zespołu zajmującego się danym zagadnieniem.
Czy wydajność porgramów napisanych w javie dorówna kiedyś tym napisanych w c++?
Tak. Już dawno dorównała. Te 10% róznicy nikt nie zauważy, a koszt napisania takiego softu 5-krotnie mniejszy.
Przepisalem z c++ do javy generator posuniec pewnej gry logicznej. Program skompilowany g++ wykonuje operacje okolo 10 sekund, ten napisany w javie ponad 20s. Wiec Java jest o połowe wolniejsza. Nie wiem skad wizales 10%.
Z moich analiz. Poczytaj co to jest JIT i jak działa, a potem się bierz za mierzenie czasu, innymi metodami niż stoper czy program time. Mogę ci zbudować test w którym G++ będzie mielił 2 minuty, a Java sekundę. Poza tym jest głupia moda „w g++ jest tyle, a w Javie tyle”. To 2 różne środowiska wykonywania i mimo że skopiowany kod się kompiluje niekoniecznie oznacza że w tym środowisku będzie równie optymalny (muszę kiedyś JVMowe streamy porównać z protezami w C++). O ile wolniejsza będzie Java zależy od samego typu aplikacji, przy pewnych warunkach Java może być nawet szybsza niż C++, choć zapewne kłóci się to z twoją logiką.
Kolejne bajeczki o specjalnych programistach i specjalnym kodzie?
Specjalnej troski heheszki.
Są programiści i koderzy. Tych pierwszych interesuje w czym faktycznie piszą, ci drudzy tylko wypluwają kod. Oczywistym jest że C musi być najszybsze, ale JIT też robi swoje i jak to mówią: „handluj z tym” (statyczna rezerwacja sterty też robi swoje), statyczny kod C/C++ po prostu może przegrać w pewnych testach.
http://blog.cfelde.com/2010/06/c-vs-java-performance/
http://www.javaworld.com/article/2076593/performance-tests-show-java-as-fast-as-c–.html
http://www.azulsystems.com/blog/cliff/2009-09-06-java-vs-c-performanceagain. I nie jestem fanatykiem Javy, piszę też w C++ i wolnym-jak-diabli Pythonie.
Eeee, z tym, że koszt softu pisanego w javie jest niższy to chyba mit forsowany przez ludzi od sprzedaży
W przypadku C++ na testy wydajesz więcej niż sam kod. Nie ma tam maszyny wirtualnej która poda ci w której linijce się wysypało, masz „Segmentation Fault” i działaj z 80k linii kodu, próbuj zreprodukować w trybie debugowania, ale akurat OS przydzielił pamięć tak, że się nie wysypie, albo w ogóle w trybie debugowania tego problemu nie ma, bo coś nie jest optymalizowane. W Javie (i innych) to VM zarządza całym tym bagnem i od razu znajduje problem, (teoretycznie) zero dbania o czyszczenie śmieci, zero problemów z alokacją, zastanawianiem się czy przesłać wartość, wskaźnik, referencję czy r-wartość…
W Javie też trzeba pisać testy. Ale to i tak wszystko zależy od tego o jakich aplikacjach rozmawiamy, bo inne pisze się w Javie, a inne w C++. Ja najgorsze doświadczenia w Javie mam z użeraniem się z serwerami aplikacyjnymi- tam już JVM to tylko pierwszy „poziom abstrakcji”, potem masz serwer aplikacyjny, jego kontenery, frameworki… szukanie błędu to czasem jak szukanie igły w stogu siana…
Tyle że z tym z czym się użerałeś w Javie w C++ się nie robi. W Javie testujesz samą logikę, w C++ testujesz czy wszystko się poprawnie alokuje i dealokuje, czy destruktory są poprawnie wywoływane (i czy w ogóle), na tym polega różnica: w C++ tych testów jest dużo więcej.
Widzę że gonią IntelliJ IDEA. Niech jeszcze ogarną UI, bo jest przeładowane nieużywanymi opcjami. Mam nadzieję że podniosą się kiedyś z klęski jaką była gałąź 4.3.