Projekt "droga do zawodowego programisty C"

5

W temacie tych "artykułów" - to chyba trochę za duże słowo. Raczej jest to zebranych parę definicji, ale w sposób, który za wiele nie wnosi do sprawy. Zamiast ich zrobić kilka(naście), ale po łebkach, wolałbym, jakbyś przysiadł do jednego zagadnienia i ogarnął je kompleksowo.

Przykładowo:

Zmienne rejestrowe przechowywane są w rejestrach procesora, a nie w pamięci komputera.

Nie możemy pobierać ich adresów. Są to zmienne automatyczne, lokalne.

Definiowanie:

  register int fastVariable;

Zmienna rejestrowa nie musi być przechowywana w rejestrze procesora, jeśli obecnie nie będzie żadnego wolnego rejestru. Definiowanie takiej zmiennej jest prośbą dla kompilatora o przechowanie jej w rejestrach procesora. Jeśli nie będzie to możliwe, zmienna zostanie standardowo przechowywana w pamięci.

Tak naprawdę jest to po prostu skopiowana skądś definicja. Ale czy to cokolwiek wyjaśnia? Ja po przeczytaniu tego tak właściwie nie wiem niczego więcej, niż przed czytaniem. Nie wiem:

  • po co te zmienne są trzymane w rejestrach
  • jaki są plusy takiego rozwiązania
  • jakie są minusy tego rozwiązania
  • co dla mnie oznacza, że "nie mogę pobrać ich adresu"? W czym to przeszkadza? Czy da się to jakoś obejść?
  • skoro rejestrów w procku jest ograniczona ilość, to ile takich zmiennych da się zadeklarować i używać?
  • piszesz, że jeśli nie ma wolnego rejestru, to zmienna będzie przechowywana w pamięci. Czy będę o tym jakoś poinformowany? Czy odczuję różnicę? Jakiego typu to będzie różnica?
  • do czego się wykorzystuje taki typ zmiennych?

Czytając ten cały wątek, z jednej strony podziwiam Twój zapał, entuzjazm i wytrwałość, ale z drugiej mam wrażenie, że idziesz na ilość, a nie jakość. Chcesz szybko "odhaczyć" jak najwięcej tematów. O ile w przypadku szkoły, takie coś jeszcze da się zrozumieć (zasada 3Z), to przy nauce dla siebie, wydaje mi się, że mocniejsze zagłębienie tematu byłoby wskazane. Chociażby cała książka o C w jeden dzień - oczywiście, da się to przejrzeć, ale nie jestem pewien, czy po takim pobieżnym przejrzeniu już znasz każdy aspekt języka. To raczej tak nie działa. I pytanie do Ciebie do zastanowienia się - czy wolisz mieć bardzo ogólne pojęcie o wszystkim, czy raczej dość konkretne, ale w bardziej sprecyzowanym zakresie. Obecnie mam wrażenie, że kierujesz się w stronę opcji numer 1. Nie mówię, że to źle, aczkolwiek ja osobiście raczej wolę drugi wariant.

4

A przywróciłeś copyrighty Torvaldsa na repo, czy też udzielił ci uprawomocnień prawnych do ich wywalenia? xD

0

Takie pytanko kogoś, kto dopiero zaczyna naukę programowania.
Da się ze zrozumieniem opanować książkę Praty (w przypadku C++ 1100 stron) w tydzień tak jak tutaj?
Mi to zajmuje od cholery czasu i dla mnie jest to nierealne biorąc pod uwagę, że sobie klepie kody jakieś codziennie po prostu żeby opanować to co znam do perfekcji i powoli wprowadzać nowe rzeczy.
Czy jak się pozna jeden język perfekcyjnie to nauka reszty przyjdzie znacznie łatwiej?

0

1) chcesz się udzielać na SO
2) używasz aktywnie konta na githubie, w dodatku dałeś tam swoje zdjęcie i jakiś kod w javie...
3) chcesz tracić czas na robotę za darmo dla OSS
4) piszesz jakieś głupie artykuły

Nie daję Ci żadnych rad, zrób z tymi obserwacjami co chcesz.

2

widzę, że zakończyło się jak zwykle :D

2

"Student at Politechnika lubelska"

Github githubem, ale sesja na horyzoncie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0