-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Sebastian Biały <h...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: [OT] Duża kasa i kiepski wynik - dlaczego?
Date: Sun, 13 Sep 2015 13:53:34 +0200
Organization: ATMAN - ATM S.A.
Lines: 251
Message-ID: <mt3o43$o75$1@node2.news.atman.pl>
References: <mosvh7$bpl$1@node1.news.atman.pl> <mot3b3$fmd$1@node1.news.atman.pl>
<55b2141b$0$2206$65785112@news.neostrada.pl>
<s...@n...lan> <mou9rd$ha3$1@dont-email.me>
<9...@g...com>
<mp2s2s$be7$1@node1.news.atman.pl>
<6...@g...com>
<mp5qs2$e63$1@node1.news.atman.pl> <s...@n...lan>
<mp8okc$8sf$1@node2.news.atman.pl> <msp8it$mlu$1@node1.news.atman.pl>
<mspsn0$c93$2@node1.news.atman.pl> <mssg6t$4fu$1@node1.news.atman.pl>
<mssktp$9n5$1@node1.news.atman.pl> <msss6u$hjj$1@node1.news.atman.pl>
<msvaa3$15k$1@node1.news.atman.pl> <mt0u5j$ufq$1@node2.news.atman.pl>
<mt158b$rkv$1@node1.news.atman.pl> <mt184d$8ha$1@node2.news.atman.pl>
<mt1gvu$85i$1@node1.news.atman.pl> <mt1p64$glq$1@node1.news.atman.pl>
<mt1tgg$trq$1@node2.news.atman.pl> <mt3e3l$7sf$1@node1.news.atman.pl>
<mt3ha6$h7i$1@node2.news.atman.pl> <mt3lqs$g4k$1@node1.news.atman.pl>
NNTP-Posting-Host: 176-115-85-233.via.zamek.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1442145219 24805 176.115.85.233 (13 Sep 2015 11:53:39
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sun, 13 Sep 2015 11:53:39 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:38.0) Gecko/20100101 Thunderbird/38.2.0
In-Reply-To: <mt3lqs$g4k$1@node1.news.atman.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:208214
[ ukryj nagłówki ]On 2015-09-13 13:14, AK wrote:
>> Działa tylko na niszowym systemie operacyjnym do oglądania facebooka.
>> Nie jest w obszerze moich zainteresowań.
> Hehe. Ty jednak naprawde jestes Ayatollayem C++ i (nie daj Boze) Linuxa :)
W ktorym miejscu wyczytałeś coś o Linuxie?
> Slowem pieprzysz Wasc farmazony.
> Na .NET przestawila sie dzis wiekszosc duzych zachodnich i polskich firm
> softwareowych,
> a reszta jest w trakcie.
"Działa tylko na niszowym systemie operacyjnym". Nie wykuczam że firmy
te piszą software akurat dla niszowych systemow operacyjnych. Przykro
mi, u mnie nie zadziała. Też piszę na inna niszę.
>>> To naprawde porzadna technologia (lepsza od Javy).
>> Oczywiście. Zupełnie przeciez inna .... to taki żart.
> Tak. Zupelnie inna gdy _wielojezykowa_ (tylko tyle i az tyle:)
Zupełnie jak java. Może bez udziału jej twórców i niecho chaotycznie ale...
https://en.wikipedia.org/wiki/List_of_JVM_languages
Co zrobił MS? Wziął javę, udając że to coś innego i kontrolował proces
tworzenia aby wyszlo coś spójnego. Wyszło to samo. Pi x drzwi tyle.
> i sprzegnieta dobrze z uznanymi i stosowanymi powszechnie od lat
> technologiami komponentowymi (COM. DCOM).
No i co z tego? Znowu nisza.
>>> I nie jest prawda ze jest zamknieta.
>> Pewno że nie. Przeciez jest tyle innych imple ... oh wait.
> Sa przynajmniej 3. Wystarczy.
A które *działają*? Ale nie że wyświetlaja hello world, tylko wsadzisz
je do respiratora.
> Bedzie wiecej bo MS rok temu "otworzyl" SDK na inne platformy.
Patrz, cały świat porwał sie, nowe impelementacje powstają co tydzień,
wszyscy programisci przechodza na C#, korporacje zwalniają miliony
programistow i zatrudniają studentów. Wooha. Przepraszam, poniosła mnie
ta wizja. Back to work.
>> Chyba bym go jednak nie wstawiał do respiratora. .NETa z resztą też.
> No widzisz. A taki AutoDesk Cie nie posluchal (i setki innych firm:).
One też produkuja respiratory? Czy może tylko duperelowane programy?
> Chlopie, ja od ok pol roku intensywnie ucze sie .NET i C# aby
> wreszcie z luboscia pozbyc sie 30-letniego garba syfiastego C++,
> a ty ciagle tkwisz w tym swym C+sowym ayatollahizmie, heh
To interesujące. Popełniłem trochę kodu w C#. Jakoś nie widzę żadnej
róznicy w stosunku do Javy. Nastepny nudny język, moving on.
>> Przykro mi, C/C++ mają chyba najwieksza obecnie przenośność
>> z powodu dostepnosci kompilatorów na masę egzotycznych architektur, co
>> wcale nie powoduje ze jest ona łatwa do uzyskania przez programistów
>> nie uświadomionych w hardware.
> Portowalem dosc duze systemy C++ sowe na rozne platformy przez
> duza czesc mego zycia zadowodego i moge z _czysta pewnoscia_
> stwierdzic, ze tworzysz mity.
> Super przenosnosc C++ _jest zwykla iluzja_.
> PS: nawet tak prosta i czesto spotykana konstrukcja jak
> unsigned int a;
> ..
> if ( a & 0xFFFCFFDF )
> jest nieprzenosna.
A zauwazyleś ża pisze coś o świadomości hardware? Zakładasz że
problemami przenośnosci zajmują się przygłupy po kursie obiektowości w
C++? NIE. Co ciekawe, stosując prawidlowe wzorce kodu można przenośność
znaczaco ulatwić. C++ nigdy nie będzie dobry do przenoszenia, ale
jednoczesnie jest jedynym językiem o takim szerokim zakresie arch na
ktorych działa. Że cięzko? To dobrze, moja pensja rosnie.
> Wylow mi z programie/systemie liczacym
> nawet zaledwie tylko kilkaset tysiecy linii wszytskie miejsca
> o podobnym "portability failure" ? Ile Ci to czasu zajmie ?
Zero. Code review zajmuje się przy okazji takimi problemami. Ale nie, ja
wiem że masz pogardę do technik Agilowych. Ja też, ale wyciągam z nich
co dobre.
>> Pisząc system operacyjny musisz mieć oba. Używanie dwóch róznych
>> języków żadko kiedy się sprawdza.
>> Nawet jesli dano support do tego w postaci .NET to poza helloworldami
>> nie widziałem dużej aplikacji napisanej w F# i C# jednoczesnie. Jakoś
>> się to nie chce sprawdzać.
> Spytaj dlaczego F# nie jest uzywany.
Uważaj, pryska mit o wielojęzykowości C#, zaraz zostanie z niego tylko
Java po przemalowaniu.
> Ja spotkalem kilka systemow o wspoldzialajacych C# i VB NET.
> Sam pisze np. w IronPythonie na Win i na Mono.
> Dziala toto.
To niewystarczający argument na produkcji.
>> Jeśli piszesz heap to nie unikniesz raw memory. Jeśli piszesz
>> sterownik to nie unikniesz raw memory. Jesli piszesz w embedded to nie
>> unikniesz raw memory. Sorry, sa miejsca gdzie silne typy są tylko
>> kłopotem. I sa miejsca gdzie są zbawienne. Często w tej samej
>> aplikacji. Co zrobić.
> Nie stosowac C++ w "ogolnych zastosowania", ale wylacznie systemowych
> (bo do takich zostal stworzony!).
I KTO TWIERDZI INACZEJ?
>> Nie da się ich obejśc z powodu code review. Przynajmniej w poważnych
>> firmach.
> Hehe :) Nie rozsmieszaj mnie :)
> Zwlaszac w "porzadnuych firmach" wazne jest, aby problem zwyczajnie jak
> najszybciej
> "przestal istniec". _Niewazne_ jakim sposobem.
Pracujesz najwyraźniej w śmieciowych miejscach. To tlumaczy częściowo
dlaczego masz taką pogardę do wszystkiego. W mojej okolicy code review
to codzienność. Podobnie jak masa innych technik poprawiających jakość.
Przykro mi, że to nie pasuje do twoich wyobrażeń o pracy obecnego pokolenia.
> To wlasnie w malych (do czasu:) - bo to kosztowne) jeszcze czasami dba
> sie o code-review itp
Myślę że nie widzialeś za wiele o procesie produkcji oprogramowania.
>> Nikt nie twierdzi że jest eleganckie. Jednak boost::mpl,
>> boost::spirit, boost::phoenix pokazały ze można dużo więcej niż się
>> wydawało że można. BEZ ZMIAN W JĘZYKU. Tak, to są biblioteki pełne
>> workaroundów. Ale jednoczesnie prezentują zdumiewająco czysty frontend
>> dla programisty.
> Jaasne. I zdumiewajaco bledogenny (bo oparty na "metaprogramowaniu
> templaetowym").
Pisuję na codzień. Błedy, jesli sa, zazwyczaj dotyczą kompilacji. Jest
niezwykle mało prawdopodobne abyś dostał błąd runtime w parserze
spirita. Natomiast można sobie sprzelić w stopę, oczywiście.
> Dziekuje bardzo.A wystarczyla by prosta drobna i nie naruszajaca
> backward compatibility
> zmiana w jezyku. (Podobnie jestli chodzi o moduly: Zaden #import nie
> naruszalby
> backward compatibility).
Najwidoczniej C++ ma zostać jaki jest a do innych rzeczy są inne języki.
Mi by się przydały lambdy. Nie ma. W sensie że nie ma w moich
produkcyjnych kompilatorach. Zamiast pieprzyć o wyższości lat 60-tych
mogę lambdy dostać z boost. I używać.
>> Nie. To istotny ficzer. Sa zastosowania gdzie jest on zdecydowanie
>> wygodniejszy w użyciu niż cokolwiek innego. Jest. Używam go.
> Zaden ficzer. To technika dostepna w _kazdym jezyku_ majacym obiekty i
> konstruktor/destruktor).
Tych języków jest niewiele. Jedyny popularny jaki znam to Delphi.
Pozostałe nie mają deterministycznej destrukcji, lub tez wymaga ona
ręcznego uruchomienia.
> W C++ to jednak proteza na znane niedogodnosci (brak finally, brak gc i
> dispose).
Albo rozwiązanie problemów z gc w zastosowaniach gdzie gc tylko
przeszkadza. Nie, C++ nie ma rozwiązać wszystkich problemów świata.
Tylko niektóre.
>>> W dodatku dziurawa jak but (i z boku) bo wiekszosc std:: zupelnie olewa
>>> RAII.
>> Nie. Nie da się olać raii. Ono jest zawsze dostępne. Może masz na
>> mysli że std::vector< Foo* > nic nie zwalnia sam? Nie powinien.
> vector nie zwalnia , strumienie nie zwalniaja (sa calkiem z boku)
> 90% "biblioteki standardowej" nie zwalnia. Widac wyraznie, ze jezyk
> _kompletnie nie wspiera RAII_.
Bibliteki dostarczone z nim nie wspierają RAII. Inne dostarczone przez
społeczność (boost) używaja *wszedzie* tych technik bazując na nich.
> Samemu trza napisac wnostwo RAIIowatch
> wrapperow na istniejace rzeczy.
Nie. 90% kodu już jest. Boost.
> RAII ma to do siebie, ze
> "albo wszystko albo nic". Jesli sie stosuje RAII to trzeba byc wlascwie
> bez wyjatku konsekwentny. Niestety tu C++ nie pomaga.
> Jest podobnie jak przy "silnym typowaniu" C++.
> Mamy "silna kontrole typow" a obok wytrych (void*) :)
Na tym polega niskopoziomowość.
>> Ale C# nie działa nigdzie poza kilkoma platformami. I nawet tam z
>> wielu powodów nie ma sensu w konkretnych zastosowaniach, np. z powodu gc.
> W czym niby przeszkadza gc ?
W systemach real time. W systemach bez heapu. W systemach z
mikroskopijnym heapem. W systemach powolnych. W systemach bez threadów.
> W Simuli nie przeszkadzal. w Pythonie nie
> przeszkadza w Javie nie przeszkadza i w C#/.NET tez.
Widocznie nie trafiłeś na zagadnienie w ktorym przeszkadza. Ja nie
trafiłem na zagadnienie w ktorym grzesiu3 pomaga. Co zrobić. To tylko
życiowy pech.
>> Nieprawda. To tylko styl nauczania programowania obecnie faworyzuje
>> języki imperatywne. Wiele problemów daje się rozwiązać
>> prosciej/inaczej jesli zmienisz paradygmat. A ponieważ aplikacje mają
>> różne problemy czasami musisz mieć język spelniający wiele paradygmatów.
> Jest taki.Oz/Mozart.
Kojeny język akademicki. Mozna tak wyliczać bez końca. Bez wątpienia te
języki są istotne dla rozwoju programowania. Ale są tylko i wyłacznie
głupim argumentam w tego typu dyskusjach. Sorry, liczba programistów na
metr kwadratory znających Mozart wchodzi mi w epsilon.
>> Nawet kiepsko, ale dający taką możliwość. Przy czym żaden projektowany
>> do tego nie zdobył popularności produkcyjnej. Co zrobić.
> Nie poddawac sie "splywowi szamba" .
Ach, czyli jednak pisanie dla sztuki? No to nie ma wyboru, uczelnia,
najlepiej w PL gdzie nikt nie pyta o wdrożenia.
> PS1: Tyle ze funkcyjnosc naprawde nie lezy "homo naledi" :)
> Obiektowosc jest bardziej naturalna.
Nie wiem czy odważyłbym się na takie ogólne wnioski.
>> Mam wątpliwośc czy na tym ma polegać programowanie funkcyjne.
> Funkcyjne ? Funkcyjne polegaloby na braku stanu, a ja
> wole te stowke (stan) w portfelu miec (ma Zona tez :).
Okazuje się w duzych systemach że to może byc wada a nie zaleta.
>> Makra to narzędzie. Możesz sobie ich używać lub nie.
> E tam. Jesli sa , to ktos ich _na pewno_ niestesty uzyje.
> A makra to syf i tyle (niewazne czy w postaci C++sowych tempates czy
> #define).
Makra w lispie to nie są proste #define.
> Jedyne generics jakie mi sie podoba to scisle zintegrowane z jezykiem i
> "typologią"
> jezyka Javowe generics (tez nie bez wad ale nie tak oblesnych jak
> tempates w C++).
generics to nie templates. Różnice są na tyle zasadnicze że w C++
powstało metaprogramowanie a Java ma dalej tylko substytucje typu i tyle.
Następne wpisy z tego wątku
- 13.09.15 13:58 Sebastian Biały
- 13.09.15 14:07 AK
- 13.09.15 14:08 AK
- 13.09.15 14:18 Sebastian Biały
- 13.09.15 14:22 AK
- 13.09.15 14:54 AK
- 13.09.15 15:15 AK
- 13.09.15 15:25 AK
- 13.09.15 17:21 Sebastian Biały
- 13.09.15 17:33 Sebastian Biały
- 13.09.15 17:54 Sebastian Biały
- 13.09.15 17:57 szemrany
- 13.09.15 18:04 Sebastian Biały
- 13.09.15 18:21 szemrany
- 13.09.15 18:50 Sebastian Biały
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-10-22 Wciskania elektryków na siłę ciąg dalszy :(
- 2024-10-22 Wymarzony świat ev hejterów
- 2024-10-21 Autobus,, skuter czy Twizy
- 2024-10-21 Problem elektryków rozwiązany.
- 2024-10-21 Drukowanie bezprzewodowe - jaki interface ?
- 2024-10-22 Środa Wielkopolska => Konsultant SAP <=
- 2024-10-22 Poznań => International freight forwarder <=
- 2024-10-21 Kraków => Spedytor międzynarodowy <=
- 2024-10-21 Błonie => Sales Specialist <=
- 2024-10-21 Gdańsk => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-10-21 Kraków => Programista Full Stack (.Net Core) <=
- 2024-10-21 Zielona Góra => Power Electronics R&D Engineer <=
- 2024-10-21 Warszawa => Junior New Business Development Manager <=
- 2024-10-21 Gdynia => Spedytor Międzynarodowy Morski/Intermodalny <=
- 2024-10-21 Zielona Góra => Engineer Mechanic R&D <=