To jest bardzo skomplikowane, aby połączyć się z internetem! Pomyśl o tym:
Komputer może mieć wiele sposobów łączenia - WLAN, Bluetooth, Ethernet itp. Każde z nich ma własne ustawienia, które należy ustawić. Masz szczęście, że istnieją już standardy i sterowniki dla tych ... korzystanie z nich może być o wiele trudniejsze niż jest teraz.
Adresami IP mogą być IPv4 lub IPv6 i musisz być w stanie obsłużyć oba.
W systemie mogą być skonfigurowane serwery proxy.
Musisz obsługiwać FTP, HTTP lub inny protokół.
Może być konieczne użycie połączenia dial-up, więc musisz podać książkę telefoniczną z hasłami i numerami telefonów, jeśli nie masz jeszcze połączenia. To samo dotyczy nazw użytkowników / haseł WLAN.
Być może będziesz musiał pracować z plikami cookie.
System może buforować niektóre dane, więc chcesz użyć pamięci podręcznej, czy nie?
A lista jest długa.
Tak więc fakt, że łatwo to zrobić za pomocą Pythona, oznacza, że wiele z nich jest przed tobą ukrytych (lub trudnych do ustawienia), więc zamieniasz prostotę na moc. Biblioteka C jest odwrotna: ma całą moc, której potrzebujesz (możesz łatwo wykonywać wywołania systemowe), ale nie ma żadnych ustawień domyślnych (ani, w rzeczywistości, żadnych funkcji łączenia się z Internetem).
Zamiast myśleć o C jako nużącym, pomyśl o tym, że jest potężny. Ale w każdym razie nie próbuj się z nim łączyć z Internetem - to cholernie trudne zadanie. Zamiast rozpocząć uczenie się, jak korzystać z biblioteki do bardziej podstawowych zadań (np plik I / O), dowiedzieć się, jak wskaźniki i tablice naprawdę działa, a gdy nauczysz się tych wszystkich, następnie spróbuj rozwiązywaniu dużych projektów. W ten sposób docenisz także Python. :)
Edytuj :
Osobiście sugeruję, że jeśli masz wolny czas, najpierw naucz się języka C #. Gdy tylko poczujesz się komfortowo, zacznij uczyć się o tym unsafesłowie kluczowym i jak korzystać ze wskaźników i przeprowadzać marshaling w C #. Nadal będziesz mieć naprawdę dużą bibliotekę do pracy, tak jak w Pythonie, ale będziesz mógł robić wiele rzeczy, które możesz zrobić w C. Następnie przejdź do ręcznego wywoływania API systemu (np. InternetOpen ) i naucz się jak sprawić, by działały. Nadal będziesz mieć dużą elastyczność, ale otrzymasz świetne wprowadzenie do koncepcji niższego poziomu. Po wykonaniu tych, następnie rozpocznij naukę C - wtedy okaże się, że to bułka z masłem, a zobaczysz (C? rozumiesz?) zalety i wady języków wysokiego i niskiego poziomu, i będziesz w stanie znaleźć ten, który odpowiada Twoim potrzebom.
To powiedziawszy, myślę, że A Crash Course w C może być przydatny jako punkt wyjścia do skoku do morza C.