@losmarineros: że kod jest napisany poprawnie z semantycznego punktu widzenia ale zawiera błąd logiczny który powoduje że uruchomiony program się wysypuje. Np. w możesz zapisać w kodzie operację dzielenia przez zero ale w czasie wykonania spowoduje to crasha programu.
@losmarineros błąd. Kiedy skompilowany wcześniej kod próbujesz uruchomić albo już działa może wywalić taki właśnie błąd , tak naprawdę runtime error to nazwa ogolna, może oznaczać różne rodzaje błędów.
@bboymc: Nawet jak powstanie język, który formalnie ci udowodni, że kod jest zgodny z założeniami specyfikacji nie da ci to gwarancji, że w specyfikacji nie ma błędów...
@losmarineros: że poza czasem błąd np za długo renderujesz filmik bo plik jest za ciężki albo zyebany i masz komunikat runtime error a zaraz potem crash, bugspat i czasami jeszcze windows hello po przypyerdoleniu w restart( ͡º͜ʖ͡º)
miałaś na myśli TimeoutException? jeżeli to bait to dobre, zapamiętam, jeżeli nie... xD mimo wszystko kekłem xD @RozkalibrowanaTurbopompa bardzo dobrze to wyjaśnił, postaram się to prosto zobrazować - mamy kod:
wynik = zmienna_1 / zmienna_9 przy uruchomieniu programu: - jeżeli zmienna_1 = 4 a zmienna_9 = 2 uzyskamy wynik = 2 - jeżeli zmienna_1 = 4 a zmienna_9 = 0 dostaniemy RuntimeException (choć w tym przypadku
@enforcer: Dlatego warto wybierać takie języki programowania, gdzie kompilator sprawdza ile się da np. zgodność typów czy nawet alokację pamięci (Rust). Są języki gdzie z definicji brak jest (lub bardzo trudno o) NPE (znowu Rust ale nie tylko). Można bawić się w Pythonie w Django ale wtedy to już klient informuje nas o literówkach w nazwach metod ( ͡°͜ʖ͡°)
#programowanie #reddit
@bboymc: dobry żart...
@bboymc: co się stanie gdy gdzieś napiszesz x=4/0
rust jedynie przed segfaultami cię uchroni
Reading specs from /usr/lib/gcc-lib/i686/3.3.1/specs
Configured with: ../configure --prefix=/usr
Thread model: posix
gcc version 3.3.1
/usr/lib/gcc-lib/i686/3.3.1/cc1 -quiet -v -D__GNUC__=3
-D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=1
hello.c -quiet -dumpbase hello.c -auxbase hello -Wall
-version -o /tmp/cceCee26.s
GNU C version 3.3.1 (i686-pc-linux-gnu)
compiled by GNU C version 3.3.1 (i686-pc-linux-gnu)
GGC heuristics: --param ggc-min-expand=51
--param ggc-min-heapsize=40036
ignoring nonexistent directory "/usr/i686/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/include
/usr/lib/gcc-lib/i686/3.3.1/include
miałaś na myśli TimeoutException? jeżeli to bait to dobre, zapamiętam, jeżeli nie... xD mimo wszystko kekłem xD
@RozkalibrowanaTurbopompa bardzo dobrze to wyjaśnił, postaram się to prosto zobrazować - mamy kod:
wynik = zmienna_1 / zmienna_9
przy uruchomieniu programu:
- jeżeli
zmienna_1 = 4
azmienna_9 = 2
uzyskamywynik = 2
- jeżeli
zmienna_1 = 4
azmienna_9 = 0
dostaniemyRuntimeException
(choć w tym przypadkuMożna bawić się w Pythonie w Django ale wtedy to już klient informuje nas o literówkach w nazwach metod ( ͡° ͜ʖ ͡°)