Witam wykopki, otóż sprawa jest taka, że chciałbym się znowu nauczyć (czy tam przypomnieć) programowania, a dokładnie języka #cpp lub ewentualnie #javascript. Jaka jest najlepsza opcja do #naukaprogramowania aktualnie? Wcześniej uczyłem się z kursów potężnego mirosława zelenta (XD) ale podobno te jego kursy nie są najlepsze. Są jakieś książki/kursy czy cokolwiek dla takiej osoby początkującej jak ja? Dzieki

#programowanie #informatyka
Nie wiem czy wiecie, ale Grębosz na swojej stronie umieścił rozdział z opisem C++14.
Na ten moment jest to 77 stron.
https://www.ifj.edu.pl/private/grebosz/Opus_C++11_dodatek_B_C++14.pdf

Opisuje też dlaczego nie zawarł tego w książce, oraz ogłasza plany w związku z C++17:

Gdy będę już gotowy, rozdział o dodatkach C++17 pojawi się tutaj. Cierpliwości!

https://www.ifj.edu.pl/private/grebosz/opus.html

#programowanie #cpp #naukaprogramowania
#programowanie #cpp

Dramat w czterech aktach:

1. @Khaine mamy tutaj jakieś zgłoszenie nierozwiązane sprzed 2 lat, weź się przyjrzyj czy to już czasem nie działa xD

2. Sprawdzam. Faktycznie, nie działa xD Klikam i nic się nie dzieje.

3. Dokopuję się do miejsca gdzie wywoływany jest magiczny fragment kodu. Całym winowajcą okazał się fragment:

// TODO: LOKALIZACJA PLIKU NIE POWINNA BYĆ NA SZTYWNO
fileName = "C:\Program Files\cośtamcośtam.exe"

Przypominam że w międzyczasie w
@MamCieNaHita: Jak masz commity z 2005 roku w C++ to myślę, że jesteś w stanie sobie dalej wyobrazić jakimi narzędziami jest to ulepione i co tam w środku da się znaleźć xD I to nie są nawet takie bardzo stare fragmenty kodu. Najstarsze są z okolic 1999 chyba.

To był czas kiedy z tego co słyszałem nie korzystali nawet z systemu kontroli wersji tylko #!$%@? komentarze w pliku notatnikowym z opisem
#cpp #programowanie

Fajne dzisiaj błędy poprawiałem. Z kategorii tych durnych.

char* version[3] =

if (version == "2.5")
//zrób coś

Nie wiem czy każdy kompilator na to pozwoli, ale nasz akurat na to pozwolił i porównywał sobie dwa wskaźniki xD

Jeszcze ten jest dobry:

if ( string(version) != "2.4" || string(version) != "2.5" )
return false;

Tu miało być sprawdzenie czy mamy plik w jednej z dwóch obsługiwanych w tej funkcji wersji, ale
18+

Zawiera treści 18+

Ta treść została oznaczona jako materiał kontrowersyjny lub dla dorosłych.

@Danieru: Unordered map/map/unordered set/set mają unikalne klucze. Ale niezbyt ten kod mi się podoba.

chociaż cofam, on nie chce usunąć powtarzających się n razy, tylko od n-tego powtórzenia. To jest całkiem spoko, ale jak chce być spryciarzem to może po prostu napisać if(++mp[*itr] > n), i będzie jeden hash+lookup+pesymistycznie milion przejść przez linked listę mniej.
@Danieru: Tworzona jest pusta. Ale operator [] dodaje element, jeśli go w mapie nie ma, z domyślną wartością. Domyślną wartością dla inta jest 0. więc mp[42], jeśli w mapie nie ma klucza 42, dodaje klucz 42 z wartością zero. Tutaj jest od razu inkrementowany - a więc inkrementowana jest albo poprzednia wartość (licznik) powtórzeń, albo 0, aby zapisać pierwsze.

To standardowy idiom na zliczanie znaków/intów/innych małych rzeczy w
Kolega oferuje praktyki dla admina/devops lub programisty C lub C++ lub C# (właściwie szuka na osobne stanowiska, natomiast admin z podstawami programowania lub odwrotnie, też pasuje) . Szuka osób z #krakow zainteresowanych #linux #debian #opensource #cpp #programowanie
Praktyki byłyby 5-8h na dzień, najlepiej codziennie. Oczekuje sumienności i staranności oraz chęci do nauki.
Czas praktyk to jakieś 2 miesiące, później możliwa dalsza współpraca, do roku, albo i dłużej.
Praktyki w zależności od umiejętności
#cpp #programowanie #visualstudio Mireczki, mój Visual Studio #!$%@?ło, odpaliłem po przerwie projekt i jak daje Local Windows Debugger, żeby go odpalić to na dole pojawia się czerowny pasek i ściąga jakieś symbloe: Loading Symbols, trwa to dłuższą chwilę, program odpala isę dopiero po jakims czasie a te symbole i tak się ładują.. miąłem kiedys taki problem ale nie pamietam jak go rozwiązałem..
@CppPolska:
calkiem zgrabnie tylko:
1. nie jest to przenosne i troche burzy zalozenia cmake'a (file(GLOB SFML_LIBS ${DYLIB_PATH}*.dylib))
2. cmake ogarnia testy i nie trzeba robic custom targetu

// edit. PS. jak na strone, ktora nazywa sie "CppPolska" to content macie glownie o gnu make i cmake... :D
@TheNewIcek: 1. Racja, musialbym to dodać tak, żeby rozszerzeń nigdzie na sztywno nie podawać

2. Próbowałem korzystać z testów w CMake, nie udało mi się tego skonfigurować tak, jakbym tego chciał ( ͡° ͜ʖ ͡°) Więc na razie zostało tak ( ͡° ͜ʖ ͡°)

3. W sumie, programiści C/C++ w jakiejś części korzystają z make i cmake ( ͡° ͜ʖ ͡
@bigbadandwrong: volatile sprawia, że kompilator generując kod musi zawsze odwołać się bezpośrednio do pamięci. Bez volatile zmienne najczęsciej są trzymane w rejestrach. Volatile przydaje się, gdy używasz memory mappingu np. programujesz mikrokontroler, w którym w komórce pamięci o adresie 100 znajduje się aktualna temperatura. Gdyby w tym przypadku nie użyłbyś volatile, to kompilator zinterpretuje to tak, że ta komórka pamięci się nie zmienia, więc nie będzie jej ładował za każdym razem.