Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

CppCon - Metaprogramowanie w C++

Ostatnio zmodyfikowano 2017-12-06 01:20
Autor Wiadomość
DejaVu
» 2017-10-08 15:01:05
Problemem nie będzie tłumaczenie, lecz problemem będzie utrzymywanie dużych projektów C++. Jeżeli architekt będzie miał parcie, aby w każdym fragmencie kodu użyć czegoś z nowości C++ to w konsekwencji próg wejścia w projekt znacznie się zwiększy i nie chodzi tu o wiedzę domenową, lecz o wstępne wymagania wobec dewelopera.

Niemniej jednak fajnie, że nowe funkcjonalności się pojawiają - w końcu będzie można wybrać z czego rozsądnie opłaca się skorzystać, a co jest zbędnym dodatkiem dla projektu X.
P-165531
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2017-10-08 15:23:50
Nie wiem jak Wy ale ja czuję trochę dumę z tego, że postawiłem na C++. Mam wrażenie, że to najpotężniejszy język jaki do tej pory powstał. Jest niezwykle szybki, multiplatformowy, OOP jest bardzo rozwinięty, posiada generyczność, bardzo wiele źródeł do nauki i co najważniejsze wciąż bardzo prężnie się rozwija.
Nie wiem jak to jest w innych językach typu Java czy C# - jeśli ktoś zna się na tym to niech napisze, jak wygląda ich rozbudowa względem C++.

Do tej pory, każda krytyka C++ z jaką się spotkałem była bardzo niemerytoryczna i często błędna. Ile razy słyszałem, że ktoś mówił, że C++ nie jest obiektowy (lel, programiści JS), że się nie rozwija (lel, mój "nauczyciel" w szkole - dla niego jedyne co się zmieniło to dodanie vectorów heh), że brak mu podstawowych funkcji (np. brak sortowania - mój nauczyciel PHP w szkole), że nie ma GC (niby prawda ale jednak smart pointery), że nie ma foreach (pozdro, range-for),
że ma słabą bibliotekę standardową:
 - bo pseudolosowość to rand (niewiedza "argumentującego", jest <random>)
 - bo zarządzanie czasem to clock() (ta sama niewiedza, jest std::chrono)
 - bo pliki to FILE* (mylenie C++ z C, jest std::fstream, std::filesystem)
 - bo ciężko się konstruuje stringi z liczbami itp (częściowo fakt bo brak std::to_string w jednym z najpopularniejszych buildów MinGW, jednak jest std::stringstream)
Mam wrażenie, że takie przekonanie wynika z tego, że C++ często uczą ludzie, którzy zatrzymali się ze swoją wiedzą na jego temat w roku 2000. Do tego trzeba dołożyć fakt, że w internecie jest też dużo starych kursów.
P-165532
Kinexity
» 2017-10-08 15:58:07
Takie rzeczy mówią najczęściej ci, którzy chcieliby, żeby wszystko było proste i stworzone pod nich. Wielu z nich po prostu uważa, że wszystkie języki powinny być jak np. Python - zrzuć wszystko na jedną stertę, wymieszaj, ugotuj i potem niech działa niezależnie od tego jaka breja powstanie.
P-165533
DejaVu
» 2017-10-08 16:49:50
@RazzorFlame: czy jesteś w stanie zrobić w ciągu jednego dnia WebService w C++, który będzie łączył się z bazą danych SQL i generował odpowiednie raporty? W C# zrobisz to w jeden dzień. Czytając tutoriale w dwa dni.

C++ od wielu lat kuleje ze względu na brak bibliotek z dobrym interfejsem, które w C# pozyskasz do projektu w ~5 minut. Ta składowa się nie zmienia, więc nie liczyłbym na jakąś rewolucję :)
P-165536
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2017-10-08 17:27:07
Chyba jestem w stanie, zalezy co dokladnie mialoby to robic
Co jest trudnego w połączeniu się z bazą danych w C++?
P-165538
kmlkamilek
» 2017-12-05 02:01:01
Chodzi po prostu o to, że C++ odchodzi do lamusa w większości współczesnych projektów, szczególnie gdy stawia się na szybkość wykonania projektu, zamiast optymalizacji, która w dzisiejszych czasach, przez rozwój techniki, również odchodzi do lamusa. Jest trudny, nie oszukujmy się. Prawa jakimi się rządzi, często są skomplikowane i zawiłe. Wysokopoziomowe języki, jak sama nazwa wskazuje, przesłaniają niskopoziomowe mechanizmy, a czasami nawet zabraniają jakiejkolwiek ingerencji programisty w ich działanie. O wiele łatwiej będzie napisać program łączący się z bazą danych w C#, lub Javie, niż w C++.
Sam również pokochałem ten język. Mimo bólu w moim serduszku, przyznaję ludziom rację, że w większości obecnych zastosowań, wysokopoziomowe biją C++ na głowę. Obecnie wykorzystuje się go z konkretnego powodu, albo w zastosowaniach embedded. Sam C++, może poszczycić się tym, że śmiga na nim większość gier triple-A.

Odnosząc się do wypowiedzi RazzorFlame, ta krytyka C++ zwykle rozpowszechniana przez ludzi, który nie mają tak naprawdę o nim zielonego pojęcia to totalny kabaret. Pomijając już zalew kursów które nie dość, że zatrzymały się w 2000, a większość z nich nie uczy c++, tylko jakiegoś nie wiadomo co (niektóre nawet wstyd nazwać C z klasami), to jeszcze ci specjaliści języków wysokopoziomowych, którzy wpuszczają do publiki swoje porównania wydajności np. C++ vs Java. Oczywiście tacy nie mają zielonego pojęcia jak się optymalizuje kod C++, ale im to nie przeszkadza, bo kto będzie chciał, to będzie to chłonąć jak gąbka.
Jeśli chodzi o naukę C++ w szkołach to już jest kompletna tragedia. Z jednej strony C++ jest jednym z najbardziej promowanych języków w polskich szkołach, z drugiej wiedza o nim to kompletne dno. Wystarczy spojrzeć na przykłady programów, udostępnianych przez komisję edukacji. Wiem, wiem, powiecie, że to ma uczyć logicznego myślenia, itd., ale uczniowie nie są uświadamiani, że praktyki stosowane w tych przykładach, z punktu widzenia C++, są po prostu brzydkie. Kolejnym problemem, jest brak rozwoju. Informatyka nieustannie się rozwija, bo jest to młoda, raczkująca jeszcze dziedzina, ale program nauczania niestety nie rozwija się razem z nią.
Studia wcale nie są lepsze. Największy problem na studiach jest taki, że informatyki nie uczą informatycy, tylko matematycy, z tego również powodu uznaję je, za stratę czasu i pójdę na nie gdy za ten papierek będę mieć jakieś wymierne korzyści.
P-167563
Saran
» 2017-12-05 17:02:28
stawia się na szybkość wykonania projektu, zamiast optymalizacji, która w dzisiejszych czasach, przez rozwój techniki, również odchodzi do lamusa.
Chyba nie w gamedevie AAA :)
Choć osobiście zajmuję się AAAA.
P-167577
DejaVu
» 2017-12-05 23:45:13
Największy problem na studiach jest taki, że informatyki nie uczą informatycy, tylko matematycy, z tego również powodu uznaję je, za stratę czasu i pójdę na nie gdy za ten papierek będę mieć jakieś wymierne korzyści.
Studia to nie pokwitowanie wiedzy. To pokwitowanie co najwyżej wytrwałości adekwatnej do renomy danej uczelni. Są firmy, które odrzucą Twoje CV z automatu, jeżeli nie będziesz miał wykształcenia wyższego. Są firmy, które Cię przyjmą, ale będą płaciły mniej niż osobie, która dużo mniej wie niż Ty, ale ma checkboxa. Ja tam zachęcam do zrobienia studiów kierunkowych IT, jeżeli umiesz już programować + wiesz, że chcesz to robić + wiesz, że idziesz tam po checkboxa wytrwałości, a nie po wiedzę tajemną.
P-167621
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona