-
1. Data: 2009-10-09 13:10:47
Temat: o poziomie języka
Od: pojechany z boost <b...@p...chany>
implementacja algorytmu w postaci bloków instrukcji (np. procedury
anonimowej)
?w języku maszyny (procesora) a
?w języku wyższego poziomu
-- jest tym bardziej zgodna wprost z intencją programisty, im niższego
poziomu jest język programowania (bliższy maszyny rzeczywistej), a jed-
nocześnie jest tym bardziej optymalna dla ?dużych? bloków danych podpa-
dających pod zaimplementowany przez programistę blok instrukcji.
im w wyższego poziomu języku ten sam algorytm jest zapisany (zgodnie
ze składnią --wymaganiami-- każdego od nowa języka), tym kompilator
ma większą swobodę ułożenia instrukcji języka wyższego poziomu w instru-
kcje maszyny-- zgodnie z własnymi predykatami kompilacji. więc progra-
mista, pisząc w języku wysokiego poziomu, nie ma powodu do chalenia się
wydajną implementacją algorytmu, ponieważ nie on tworzy właściwy kod,
a jedynie daje kompilatorowi podpowiedzi na temat tego co koniecznie
chce zobaczyć jako statyczne w strukturach wynikowego programu --to
co później widzi śledząc wykonywanie programu; różne języki wysokiego
poziomu mają różne statyczności określone w standardach, z których prog-
ramiści korzystają do wyrażenia wspomnianych podpowiedzi dla kompilatora
--kompilator zgodny ze standardem języka pozwala programiście mieć pew-
ność co do wszystkich wymyślonych statyczności (zachowań procedur stan-
dardowych, obecnych zmiennych i ich znaczenia).
czyli programując w języku wysokiego poziomu nie tworzysz programu
zgodnego z zamysłem, lecz jedynie podpadającego pod zamysł, o ile
nie popełnisz pomyłki w użyciu statyczności używanego języka programowa-
nia. programując w języku niskiego poziomu, maszyny masz program zgod-
ny z zamysłem, lecz łatwo możesz popełnić błąd projektowy, nie znając
wszystkich aspektów środowiska wykonywania. nie ukrywam, że zacznę
od najwyższej półki programowania w celu rozwiązania tego problemu.
wszystkie chwyty... e... języki dozwolone. ;-)
ktoś chce mi pojechać? to proszę. :-) koniecznie!
-z "wybrane aspekty programowania", 2009, autorzy nieznani, str.
33 i 55.
--
-oh yea, i got it!
-oh, stupid!
D. Icke
-
2. Data: 2009-10-09 15:15:56
Temat: Re: o poziomie języka
Od: Mateusz Ludwin <n...@s...org>
pojechany z boost wrote:
> implementacja algorytmu w postaci bloków instrukcji (np. procedury
To znowu ten przygłup od "programowania agentowego"?
--
Mateusz Ludwin mateuszl [at] gmail [dot] com
-
3. Data: 2009-10-09 15:25:12
Temat: Re: o poziomie języka
Od: pojechany z boost <b...@p...chany>
"Mateusz Ludwin" pojech-al/a:
> To znowu ten przygłup od "programowania agentowego"?
urodziłeś się w głupocie czy się do niej dokształciłeś? :-)
--
qo |) CPL<=dataDPL CPL==/>=codeDPL:conform'/nc';max=CPL! AV0ID bHp
_x/ , CPL<=TSS,gateDPL CPL>=/==dest_DPL:/(jmp&nc') ,RPL!- #GP -o0o
| ng __ -- __ -- __ -- __ -- __ -- __ -- __ -- __ -x86-, EV3RY o0o
,__ -- __ -- Current/Requested/DescriptorPrivilegeLevel C/R/DPL , d4y m:#=
-
4. Data: 2009-10-10 00:08:36
Temat: Re: o poziomie języka
Od: "Wiktor S." <wswiktor&poczta,fm@no.spam>
> dardowych, obecnych zmiennych i ich znaczenia). czyli programując w
> języku wysokiego poziomu nie tworzysz programu zgodnego z zamysłem,
> lecz jedynie podpadającego pod zamysł, o ile nie popełnisz
> pomyłki w użyciu statyczności używanego języka programowa- nia.
Bezydura.
Jeśli program napiszesz "zamyślając" go pod kompilator, a nie myśląc o
maszynie (komputerze), to z tego punktu widzenia program jest zgodny z twoim
zamysłem.
Jest to szczególnie wyraźne na przykład w przypadku języka Java: faktyczna
maszyna może być dowolna, nawet nieznana programiście. Programista
"zamyślał" program w Javie, a nie dla konkretnej maszyny.
Ponadto, dzisiejsze procesory mają w środku jeszcze mniejsze 'trybiki'
wykonujące egzotyczny dla programisty kod, a zestaw instrukcji stosowany na
zewnątrz procesora podlega wewnętrznej translacji.
Nie ma więc aż takich różnic między językiem wysokiego a niskiego poziomu
jeśli chodzi o "tworzenie z zamysłem", zwłaszcza że języki niskiego poziomu
są co prawda nisko, ale nadal na pewnym podeście, i to wyższym niż się
wydaje.
--
Azarien
-
5. Data: 2009-10-10 20:32:07
Temat: Re: o poziomie języka
Od: pojechany z boost <b...@p...chany>
"Wiktor S." pojech-al/a:
>> dardowych, obecnych zmiennych i ich znaczenia). czyli programując w
>> języku wysokiego poziomu nie tworzysz programu zgodnego z zamysłem,
>> lecz jedynie podpadającego pod zamysł, o ile nie popełnisz pomyłki
>> w użyciu statyczności używanego języka programowa- nia.
> Bezydura.
>
> Jeśli program napiszesz "zamyślając" go pod kompilator, a nie myśląc o
> maszynie (komputerze), to z tego punktu widzenia program jest zgodny z
> twoim zamysłem.
> Jest to szczególnie wyraźne na przykład w przypadku języka Java:
> faktyczna maszyna może być dowolna, nawet nieznana programiście.
> Programista "zamyślał" program w Javie, a nie dla konkretnej maszyny.
> Ponadto, dzisiejsze procesory mają w środku jeszcze mniejsze 'trybiki'
> wykonujące egzotyczny dla programisty kod, a zestaw instrukcji stosowany
> na zewnątrz procesora podlega wewnętrznej translacji. Nie ma więc aż
> takich różnic między językiem wysokiego a niskiego poziomu jeśli chodzi
> o "tworzenie z zamysłem", zwłaszcza że języki niskiego poziomu są co
> prawda nisko, ale nadal na pewnym podeście, i to wyższym niż się wydaje.
czyli wszystko zależałoby od tego, czy istnieją nieprzekraczalne bariery
miedzy poziomami zamysłów. ;-)
--
qo |) CPL: cs[0..1] (ss[0..1]) p lvl of curr code!
_x/ , RPL: seg_sel[0..1] privilege lvl of seg_sel!
| ng __ -- __ -- __ -- __ -- __ -- __ -- __ -x86-,
,__ -- __ -- DPL: 2._word_of_seg_desc[13..14]:`f seg_desc ,