Słyszałem, że powiedzenie, że włączenie zerowych referencji w językach programowania jest „błędem miliarda dolarów”. Ale dlaczego? Jasne, mogą powodować wyjątki NullReference, ale co z tego? Każdy element języka może być źródłem błędów, jeśli zostanie użyty nieprawidłowo. A jaka jest alternatywa? Przypuszczam, że zamiast powiedzieć to: Customer c = Customer.GetByLastName("Goodman"); // …
Czy istnieje powód, dla którego funkcje w większości (?) Językach programowania są zaprojektowane do obsługi dowolnej liczby parametrów wejściowych, ale tylko jednej wartości zwracanej? W większości języków możliwe jest obejście tego ograniczenia, np. Poprzez użycie parametrów zewnętrznych, zwracanie wskaźników lub definiowanie / zwracanie struktur / klas. Ale wydaje się dziwne, …
To pytanie może wydawać się głupie, ale dlaczego 0ewaluuje falsei jakąkolwiek inną wartość [całkowitą] trueto większość języków programowania? Porównanie ciągów Ponieważ pytanie wydaje się nieco zbyt proste, wyjaśnię się trochę bardziej: po pierwsze, może się wydawać oczywiste dla każdego programisty, ale dlaczego nie byłoby języka programowania - może być, ale …
Zastanawiam się, dlaczego XML ma literę L w nazwie. Sam w sobie XML nic nie „robi”. To tylko format przechowywania danych, a nie język! Języki „robią” rzeczy. Sposób, w jaki XML „robi” rzeczy, aby zmienić je we właściwy język, polega na dodawaniu xmlnsatrybutów do elementu głównego. Dopiero wtedy informuje środowisko, …
Moim szczególnym przypadkiem jest to, że użytkownik może przekazać ciąg znaków do aplikacji, aplikacja analizuje go i przypisuje do obiektów strukturalnych. Czasami użytkownik może wpisać coś nieprawidłowego. Na przykład ich wkład może opisywać osobę, ale może powiedzieć, że jej wiek to „jabłko”. Prawidłowe zachowanie w takim przypadku polega na wycofaniu …
Dlaczego stare języki BASIC (a może inne języki) używały numerów wierszy jako części kodu źródłowego? Mam na myśli, jakie problemy to (próbował) rozwiązać?
Ponieważ jest teraz sezon wakacyjny i wszyscy składają życzenia, zastanawiam się - jakie funkcje językowe chciałbyś dodać PHP? Interesują mnie praktyczne sugestie / życzenia dotyczące języka. Przez praktyczne rozumiem: Coś, co można praktycznie zrobić (nie: „Chciałbym, żeby PHP odgadł, co oznacza mój kod i naprawił dla mnie błędy” lub „Chciałbym, …
Jako długoletni programista C #, ostatnio przyjechałem, aby dowiedzieć się więcej o zaletach pozyskiwania zasobów to inicjalizacja (RAII). W szczególności odkryłem, że idiom C #: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } ma odpowiednik C ++: { DbConnection dbConn(connStr); // do stuff with dbConn …
Jestem pewien, że projektanci języków takich jak Java czy C # znali problemy związane z istnieniem zerowych referencji (zobacz Czy referencje zerowe są naprawdę złe? ). Także implementacja typu opcji nie jest tak naprawdę dużo bardziej złożona niż odwołania zerowe. Dlaczego mimo to postanowili to uwzględnić? Jestem pewien, że brak …
Jakie szczególne zalety i wady każdego sposobu pracy z gramatyką języka programowania? Dlaczego / Kiedy powinienem wyrzucić własny? Dlaczego / Kiedy powinienem używać generatora?
Nie mogłem zrozumieć przyczyny tego. Zawsze używam klasy String, podobnie jak innych programistów, ale kiedy modyfikuję jej wartość, tworzona jest nowa instancja String. Co może być przyczyną niezmienności klasy String w Javie? Wiem, że istnieje kilka alternatyw, takich jak StringBuffer lub StringBuilder. To tylko ciekawość.
Czy kiedykolwiek próbowałeś zsumować wszystkie liczby od 1 do 2 000 000 w swoim ulubionym języku programowania? Wynik można łatwo obliczyć ręcznie: 2 000 001 000 000, czyli około 900 razy więcej niż maksymalna wartość 32-bitowej liczby całkowitej bez znaku. Drukuje się C # -1453759936- wartość ujemna! I chyba Java …
W moim rozumieniu partialsłowo kluczowe nie pozwala na podział klasy na kilka plików źródłowych. Czy jest jakiś inny powód do tego niż organizacja kodu? Widziałem to używane w generowanych klasach interfejsu użytkownika. Wydaje się, że to zły powód, aby utworzyć całe słowo kluczowe. Jeśli klasa jest wystarczająco duża, aby wymagać …
Termin „Lisp” (lub „Lisp-like”) jest parasolem obejmującym wiele różnych języków, takich jak Common Lisp, Scheme i Arc. Podobne rozdrobnienie występuje w innych społecznościach językowych, takich jak ML. Jednak Ruby i Python zdołali uniknąć tego losu, w którym innowacje pojawiły się częściej przy implementacji (jak PyPy lub YARV) zamiast wprowadzania zmian …
W wielu językach function_name(arg1, arg2, ...)do wywołania funkcji służy składnia . Kiedy chcemy wywołać funkcję bez żadnych argumentów, musimy to zrobić function_name(). Dziwne wydaje mi się, że kompilator lub interpreter skryptów wymagałby ()skutecznego wykrycia go jako wywołania funkcji. Jeśli wiadomo, że zmienna jest wywoływalna, dlaczego nie function_name;wystarczy? Z drugiej strony …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.