Pytania związane z projektowaniem, wdrażaniem i analizą języków programowania. NIE w przypadku pytań dotyczących programowania, które są nie na temat w tej witrynie.
Patrząc na stronę Julii , możesz zobaczyć testy porównawcze kilku języków w kilku algorytmach (czasy pokazane poniżej). W jaki sposób język z kompilatorem napisanym pierwotnie w C może przewyższyć kod C? Rysunek: czasy testu porównawczego w stosunku do C (im mniejsze, tym lepsza wydajność C = 1,0).
Jestem dość biegły w C / C ++ i potrafię poruszać się po różnych językach skryptowych (awk / sed / perl). Zacząłem używać Pythona o wiele więcej, ponieważ łączy on kilka fajnych aspektów C ++ z możliwościami skryptowymi awk / sed / perl. Ale dlaczego jest tak wiele różnych języków …
Uczę się języka Haskell i fascynuje mnie język. Nie mam jednak żadnego poważnego doświadczenia matematycznego ani CS. Ale jestem doświadczonym programistą. Chcę nauczyć się teorii kategorii, abym mógł stać się lepszy w Haskell. Których tematów z teorii kategorii powinienem nauczyć się zapewniać dobrą podstawę do zrozumienia Haskell?
Zauważyłem, że niektóre aplikacje lub algorytmy zbudowane na języku programowania, na przykład C ++ / Rust, działają szybciej lub szybciej niż te zbudowane na powiedzmy Java / Node.js, działające na tym samym komputerze. Mam kilka pytań na ten temat: Dlaczego to się dzieje? Co rządzi „prędkością” języka programowania? Czy ma …
Pytanie: „Niektóre właściwości języka programowania mogą wymagać, aby jedynym sposobem na napisanie w nim kodu jest interpretacja. Innymi słowy, kompilacja do natywnego kodu maszynowego tradycyjnego procesora nie jest możliwa. Jakie są te właściwości?” Kompilatory: zasady i praktyka Parag H. Dave i Himanshu B. Dave (2 maja 2012) Książka nie daje …
Jako inżynier oprogramowania piszę dużo kodu dla produktów przemysłowych. Stosunkowo skomplikowane rzeczy z klasami, wątkami, trochę wysiłków projektowych, ale także pewne kompromisy w zakresie wydajności. Robię dużo testów i mam dość testowania, więc zainteresowałem się narzędziami do sprawdzania formalnego, takimi jak Coq, Isabelle ... Czy mogę użyć jednego z nich, …
Obecnie kończę mgr informatyki. Interesuję się językami programowania, szczególnie systemami typu. Zainteresowałem się badaniami w tej dziedzinie i w następnym semestrze rozpocznę doktorat na ten temat. Oto prawdziwe pytanie: jak mogę wyjaśnić, co (chcę) zrobić osobom bez wcześniejszej wiedzy w dziedzinie informatyki lub dziedzin pokrewnych? Tytuł pochodzi od faktów, że …
Zastanawiam się, czy można zbudować kompilatory dla dynamicznych języków, takich jak Ruby, aby mieć podobną i porównywalną wydajność do C / C ++? Z tego, co rozumiem na temat kompilatorów, weźmy na przykład Ruby, kompilowanie kodu Ruby nigdy nie będzie wydajne, ponieważ sposób, w jaki Ruby obsługuje odbicie, funkcje takie …
Czy ktoś mógłby wyjaśnić różnicę między typami zależnymi a typami wyrafinowania? W moim rozumieniu typ uściślenia zawiera wszystkie wartości typu spełniającego predykat. Czy istnieje cecha typów zależnych, która je odróżnia? Jeśli to pomoże, natknąłem się na typy rafinowane za pośrednictwem projektu Liquid Haskell, a typy zależne za pośrednictwem Coq i …
Czy istnieje zestaw konstrukcji języka programowania w języku programowania, aby można go uznać za ukończony jako Turing? Z tego, co mogę powiedzieć z wikipedii , język musi obsługiwać rekursję lub, pozornie, musi być w stanie działać bez zatrzymywania się. Czy to już wszystko?
Coraz popularniejsze stają się bezpieczne języki programowania (PL). Zastanawiam się, jaka jest formalna definicja bezpiecznej PL. Na przykład C nie jest bezpieczny, ale Java jest bezpieczna. Podejrzewam, że właściwość „bezpieczna” powinna być stosowana do implementacji PL, a nie do samej PL. Jeśli tak, omówmy definicję bezpiecznej implementacji PL. Moje własne …
Z góry przepraszamy za naiwność tego pytania. Jestem 50-letnim artystą, który po raz pierwszy próbuje właściwie zrozumieć komputery. No i proszę. Próbowałem zrozumieć, w jaki sposób typy danych i zmienne są obsługiwane przez kompilator (w bardzo ogólnym sensie wiem, że jest w tym wiele). Brakuje czegoś w moim rozumieniu związku …
Napotkałem dziwny problem podczas pisania interpretera, który (powinien) zaczepia się o zewnętrzne programy / funkcje: Funkcje w „C” i „C ++” nie mogą przechwytywać funkcji variadic , np. Nie mogę utworzyć funkcji, która wywoła „printf” z dokładnie tymi samymi argumentami, które otrzymał, i zamiast tego musi wywołać alternatywną wersję, która …
Krótka historia Słynny informatyk Tarjan napisał książkę lata temu. Zawiera absolutnie dziwny pseudokod. Czy ktoś mógłby to wyjaśnić? Długa historia Tarjan jest znany z wielu osiągnięć, w tym z faktu, że był współtwórcą drzew pnia . W latach 80. opublikował książkę „ Struktury danych i algorytmy sieciowe ”. Cały pseudo-kod …
Typowy generacyjny moduł wyrzucający elementy bezużyteczne przechowuje ostatnio przydzielone dane w osobnym regionie pamięci. W typowych programach wiele danych jest krótkotrwałych, więc częste zbieranie śmieci (niewielki cykl GC) i rzadkie zbieranie starych śmieci jest dobrym kompromisem między narzutem pamięci a czasem spędzonym na GC. Intuicyjnie korzyść generatora śmieciowego generatora w …
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.