it-swarm-eu.dev

Co je to jazyková agnosticismus a proč se tomu říká?

Kdy je něco agnostického? Proč se tomu říká?

55
Louis Rhys

Jazyková agnostika označuje aspekty programování, které jsou nezávislé na jakémkoli specifickém programovacím jazyce. Alespoň jsem to slyšel, jak se používá za posledních třicet let.

Slovo „agnostik“ je odvozeno od starořeckého slova „nevím“. Takže něco, co je „jazykově agnostická“, nemusí vědět o počítačových jazycích; znamená to totéž jako nezávislý na jazyce. Věci, které by byly jazykově agnostické, zahrnují algoritmy nebo Agile nebo runtime knihovnu s vazbami na mnoho jazyků.

Některé funkce systému Mac OS X jsou nikoli jazykové agnostické, protože jsou skutečně navrženy pro použití z Objective C, lze je použít jen s obtížemi z C nebo C++ a nemají dokonce vazby pro mnoho jazyky.

Může také existovat podtext, který spíše než jiné termíny používá „jazykovou agnostiku“.

V hovorové angličtině někdo, kdo říká, že je „agnostický“, znamená, že není ani náboženský, ani ateista: „nevědí“ o Bohu. Toto je obvykle slovní kód pro „Nelíbí se mi mluvit o náboženství, takže se mě nepokoušejte převést.“

Takže když lidé mluví o tom, že jsou „jazykově agnostičtí“, snaží se vyhýbat se argumentům o tom, který počítačový jazyk je lepší.

63
Bob Murphy

Když se řešení nazývá „jazykově agnostický“, doslova říkáte, že vaše řešení „neví o“ jazycích, což znamená jeho univerzální nebo nezávislé na specifikách jazyka (paradigmy, jazykové idiomy atd.).

Například, návrhové vzory jsou jazykově agnostické, protože způsob, jakým jsou popsány, konkrétní implementaci nezáleží, pokud se drží na celku nebo na podmnožině vzoru (v.gr. některé návrhové vzory lze implementovat bez OOP) .

UML je jazyk-agnostik, BPMN je jazyk-agnostik, ERM je jazyk-agnostik. Algoritmus v pseudokódu je jazykový ...

Cokoli, co je určeno k tomu, aby bylo naprogramováno, ale nebylo popsáno v konkrétním jazyce, lze nazvat jazykově agnostickým.

7
dukeofgaming

Paradigmy nebo funkce, které nejsou aplikovány pouze na jeden jazyk.

6
Josh K

Tento termín jsem ještě neslyšel, předpokládal bych však, že to znamená učit se aspekty programování, které jsou nezávislé na jakémkoli specifickém programovacím jazyce.

2
mbreedlove