konto usunięte

Temat: Rynek IT z C C++

Piotr Likus:

a) to skutecznie wydłuża proces zmian
Formatter nie musi ingerować nawet bajtem w kod. Może wpływać tylko na widok.
b) chyba nigdy nie robiłeś zmian "punktowych". Punktowych ze względu na potrzebę śledzenia zmian oprogramowania, a nie ze wzlgędu na swoją sprytność...
Jakie to są punktowe zmiany? Rozumiem, że są to zmiany np. 0.001% całego kodu i w wielu miejscach. Dobrze się rozumiemy?
"Po nas choćby potop"?
Chyba nie po to się pisze oprogramowanie, żeby je za miesiąc refaktorować? Oczywiście spotkałem się takim podejściem w kilku wersjach, m.in.:
a) "fire and forget" - piszesz kod i po miesiącu udajesz że to nie twój. umożliwia to szybkie tworzenie oprogramowania które niedługo trzeba będzie poprawiać. Ważna jest przy tym technika wycofywania się ze swojego autorstwa.
To genialne podejście :) Ale czasem może być niezamierzonym. Wynika to po prostu z tego, że zawsze po jakimś czasie wpadniesz na jakiś dobry pomysł, który usprawniłby aplikację lub ulepszyłby kod.
b) "unmaintable code" - piszesz kod specjalnie w taki sposób, aby nikt z maintenance'u nie mógł czasami poprawić Twojego oprogramowania. Dzięki temu ciągle masz pracę. Ta technika jest szeroko stosowana, nawet doczekała się kilku esejów:

freeworld.thc.org/root/phun/unmaintain.html
http://tlug.org.za/old/htwuc/unmain.html

A to podejście jest jeszcze lepsze :D Ale ponownie: zdarzają się takie "niezgodności charakterów programistycznych" przez przypadek. Wystarczy np. że jeden lubi STL, a drugi lubi "emulować" STL za pomocą wskaźników odmienianych przez wszystkie przypadki. I już mamy komedię.
Piotr B.

Piotr B. development engineer

Temat: Rynek IT z C C++

Piotr Likus:
Piotr Borys:
A może jeszcze przed rozpoczęciem maintenance'u przeprowadzać refactoring, żeby także jednolite standardy nazewnictwa wprowadzić, hm?

"Po nas choćby potop"?

Nie wypatrzyłeś w mojej wypowiedzi ironii ;)

Powiem tak - ci, którzy tutaj oponują nam - zwyczajnie prawdopodobnie nie musieli zarządzać projektami, które po pierwsze są duże, a po drugie mają już dość długą historię kodu (to znaczy, leci już któryś tam cykl życia...). Wszystko na ten temat, nie ma się co spierać, bo nie zrozumieją, dopóki sami nie doświadczą tego bólu :)

konto usunięte

Temat: Rynek IT z C C++

Ojej, jak się dyskusja rozwinęła! Aż miło poczytać. :)

konto usunięte

Temat: Rynek IT z C C++

Michał Zientkiewicz:
Heh.. a ja chyba miałem dwa lata szczęścia i pisałem antywirusa. Tego NIE DA się pisać w czymś innym niż C/C++. I nie będzie się dało tak długo, jak długo kod pośredni .NET czy Java nie będzie wykonywany bezpośrednio przez sprzęt. Zresztą, taki sprzęt byłby koszmarnie złożony i drogi, więc chyba nie czeka nas wyginięcie.

Już dłuższy czas są dostępne procesory ze sprzętowym wsparciem javy.

Żeby nie być gołosłownym, projekt akademicki:
http://www.jopdesign.com/

Był też jakiś wbudowany procesor, jeśli się nie mylę - Maxima - dostępny komercyjnie.

konto usunięte

Temat: Rynek IT z C C++

Andrzej Godziuk:
Michał Zientkiewicz:
Heh.. a ja chyba miałem dwa lata szczęścia i pisałem antywirusa. Tego NIE DA się pisać w czymś innym niż C/C++. I nie będzie się dało tak długo, jak długo kod pośredni .NET czy Java nie będzie wykonywany bezpośrednio przez sprzęt. Zresztą, taki sprzęt byłby koszmarnie złożony i drogi, więc chyba nie czeka nas wyginięcie.

Już dłuższy czas są dostępne procesory ze sprzętowym wsparciem javy.

Żeby nie być gołosłownym, projekt akademicki:
http://www.jopdesign.com/

Był też jakiś wbudowany procesor, jeśli się nie mylę - Maxima - dostępny komercyjnie.

Chyba nie chodziło o wydajność tylko "odległość" od sprzętu.
Java z definicji jest niezależna od sprzętu, a więc operowanie na nim jest utrudnione. Ktoś zna przypadki sterowników napisane w Javie? I nie chodzi mi o RS-232C...
Artur Kęska

Artur Kęska Senior Software
Developer, XNet
Communications

Temat: Rynek IT z C C++

Odległość od sprzętu to jedno, ale kwestii wydajności nie pomijał bym.
Istnieje szereg zagadnień, gdzie jak na razie realizacja w Java jest ciągle mocno utrudniona - i nie są to koniecznie sterowniki urządzeń.
Weźmy np. takie przesyłanie streamów video czy nawet voice on-line albo kodeki audio/vieo - na razie Java nie ma w tym temacie zbyt wiele do zaoferowania (chyba, że korzystając z bibliotek lub programów pisanych w C/C++).
Weźmy problemy o wysokiej złożoności obliczeniowej - czyli wszelkiego rodzaju programy symulacyjne (np. z zakresu obliczeń metodą elementów skończonych).
Dalej - wszelkiej maści aplikacje operujące na danych w trybie rzeczywistym (np. procesory dźwięku).
Ponadto - aplikacje do obróbki grafiki.
Silników baz danych też nie pisze się raczej w Javie.
Piotr B.

Piotr B. development engineer

Temat: Rynek IT z C C++

Artur Kęska:
Weźmy problemy o wysokiej złożoności obliczeniowej - czyli wszelkiego rodzaju programy symulacyjne (np. z zakresu obliczeń metodą elementów skończonych).

Dokładnie. Powiem więcej - nieraz schodzi się nawet do poziomu assemblera (wstawki dla najgorętszych miejsc kodu). Efekt - obliczenia zajmują już np. tylko kilka dni ;) zamiast tygodni czy miesięcy...

Następna dyskusja:

Co sie dzieje w Polsce (ryn...




Wyślij zaproszenie do