հա, ինչն ազատ ա, կարողանում ենք օգտագործել։ բայց արդե՞օք ուզում ենք, եթէ lowtech չի։
օրինակ, անդրոիդը աւտորիտար պրոդուկտ ա, կայսերական՝ խոշոր ընկերութեան պրոդուկտ ա, նախագծուած ա ոչ թէ օգտուողի, այլ բիզնէսի համար՝ օրինակ կարելի ա արգելել յաւելուածին էկրանահան անել։
մի տեղ գուցէ պատմել եմ, որ չկարողացանք թարումեանի տառատեսակները contribute անել անդրոիդի մէջ, զի մի տարի իրանց բզելուց եւ տշուելուց յետոյ պատասխանեցին որ third party փաթչ չեն վերցնի։ յետոյ իրենք աւելացրին հայերէն, ու շատ աւելի վատը, քան թարումեանը նկարել էր։
իսկ lowtech֊ը՝ վերնակուլար, տարօրինակ ա։
իսկ ո՞րը lowtech չի։
մենք հակուած ենք դիտարկել սի լեզուն որպէս lowtech, որովհետեւ իրա սինտաքսը մեծ չի, երկաթին մօտ ա՝ կարելի ա արդիւնաւէտ կատարուող կոդ գրել, քոմփայլեր գրելը տեսականօրէն շատ բարդ չի, ու ինտերնետում տարբեր նախագծեր կան, որ սուղ ժամանակում սի քոմփայլեր իրականացրել են։
բայց մոռանում ենք որ սի կոդի զգալի մասը, եթէ ոչ մեծ մասը՝ օգտագործում ա gcc֊ի ընդլայնումները։ ու լինուքս միջուկն էլ։ որովհետեւ էս կամ էն ընկերութեանը պէտք էր, փաթչ են արել, gcc֊ն ընդունել ա, առհասարակ կապիտալը սիրում ա նոր ու շատ ֆիչըրներ, իսկ երբ դրանք աւելանում են՝ սկսում են օգտագործուել։ էստեղ էական ա կապիտալի/կորպորացիայի ազդեցութիւնը gcc֊ի վրայ։
էսպէս քոմփայլերը ստացւում ա բարդ, իսկ այն օգտագործելով գրուած կոդը՝ ոչ տեղափոխելի։
եւ լինուսը բողոքում էր ու ասում էր որ կը հրաժարուէր gcc֊ից եթէ կարողանար։
իրականում սրանից բխում ա մտահոգիչ բան՝ լինուքս միջուկը ինքը lowtech չի՝ շատ լաւ ա աշխատում, շատ ֆիչըրներ ունի, ու lowtech չի։ ունի շատ կորպորատիւ ներդրում, ու պահանջում ա ոչ lowtech քոմփայլեր։ երեւի էսօր իւնիքսներից ամենա lowtech֊ը netbsd֊ն են ու openbsd֊ն։ ու դէ minix֊ը։ բայց էլի, netbsd֊ն ոնց որ դեռ gcc֊ի վրայ ա, openbsd֊ն անցաւ llvm֊ի, իսկ minix֊ն ի սկզբանէ շինում էին թանենբաումի amsterdam compiler kit֊ով, բայց վաղուց անցան llvm֊ի, որը էլի թոյլ ա տալիս օգտագործել լիքը ֆիչըրներ ու մեծ կախուածութիւն ա ստեղծում։
ինձ թւում ա, tcc֊ն ա lowtech։ ու ուրախ եմ որ voc֊ը tcc֊ի հետ աշխատում ա։
կայ gm2 (gnu modula-2) նախագիծ՝ տեսականօրէն modula-2 քոմփայլերը կարող ա ինքն իրան շինել մի քսան վայրկեանում նոյնիսկ շատ հին երկաթի վրայ։ բայց քանի որ gm2֊ը ինտեգրուած ա gcc֊ի հետ, gcc ծառի մաս ա (որը նաեւ ոգեւորում ա, մի կողմից պաշտօնական ա դարձնում լեզուն) նշանակում ա, որ այն քոմփայլ անելու համար պէտք ա նախ քոմփայլ անել gcc֊ն՝ գուցէ մի երեք ժամ, ու յետոյ նոր մի քսան վայրկեան մոդուլա֊2 ֊ի ֆրոնտէնդը։ հետեւաբար gm2֊ը lowtech չի, բայց ինչ֊որ մի այլ modula-2 քոմփայլեր, օրինակ mocka֊ն՝ երեւի ա։
փայթընը նոյնպէս lowtech չի։ կարելի ա հեշտ սկսել, անշուշտ, բայց շատ կորպորատիւ ներդրումներ ունի։ շատ կուզէի ասել որ go֊ն ա lowtech, զի լեզուն ինքը փոքր ա, քոմփայլերն ինքը առանց գրադարանների շինւում ա մի քանի րոպէում։ բայց կրկին՝ կորպորատիւ ներդրումներ, փաթեթների առատութիւն՝ արդե՞օք այն lowtech ա։
freepascal֊ը երեւի lowtech ա։ չնայած լեզուն կորպորատիւ նախագծման արդիւնք ա (ու դրանից լիքը ոչ հետեւողական բաներ), բայց համեմատ էսօրուայ լեզուների նոյնիսկ փոքր ա դիտւում։ առաւել եւս որ կարելի ա սահմանել ստանդարտ՝ օրինակ turbo pascal֊ինը, որը ընդհանուր առմամբ ամէն ինչի համար բաւական ա։ շատ էլ ա։
freepascal֊ը գրեթէ չունի կորպորատիւ ազդեցութիւն, ու իրա հետեւում ոչ թէ կապիտալ ա, այլ կոմպետենտ ու նուիրուած համայնք։ այնպէս որ երեւի lowtech ա, ու երեւի վերնակուլար ա։ օրինակ, երբ delphi֊ում հնարաւոր դարձաւ ամէնուր փոփոխական յայտարարել, freepascal֊ում դա քննարկուեց ու համայնքը որոշեց որ էդ լաւ չի ու պէտք չի։
c#֊ը հաստատ վերնակուլար չի՝ էդքան մեծացած լեզու ա ու էդքան բարդ շերտեր ա պահանջում։
lisp֊ը (բայց ոչ ansi common lisp֊ը) lowtech ա, վերնակուլար ա։
կրկին՝ ստանդարտիզացուած, յղկուած տէքը մեզ մօտ աւտորիտար ա ու կայսերական։
gemini֊ն՝ մարդու մասշտաբի զբօսնելի կամ հեծանուելի տէք ա։
ոչ ստանդարտ տէքը՝ ոչ ֆէյսբուքի կամ նոյնիսկ մաստոդոնի պէս՝ տարօրինակ ա։ իսկ տարօրինակը հարցեր ա առաջացնում, եւ պատահական չի որ աւտորիտար վարչակարգը փորձում ա պատսպարել, թաքցնել տարօրինակը, որ մարդկանց մտքերում անպէտք հարցեր չառաջանան։
#ազատութիւն #ծրագրաւորման_լեզուներ #ծրագրաւորում #վերնակուլար