Tambayoyi biyar game da tsara harshe na shirye-shirye

Tambayoyi biyar game da tsara harshe na shirye-shirye

Falsafar Jagoranci

1. Programming Languages ​​ga mutane

Harsunan shirye-shirye sune yadda mutane suke magana da kwamfuta. Kwamfuta za ta yi farin cikin yin magana da kowane harshe da ba shi da ma'ana. Dalilin da ya sa muke da manyan harsuna shine saboda mutane ba za su iya sarrafa harshen injin ba. Manufar shirye-shiryen harsuna shine a hana matalauta, raunin kwakwalwar ɗan adam daga cikar bayanai da yawa.

Masu ginin gine-gine sun san cewa wasu matsalolin ƙira sun fi na sauran. Wasu daga cikin mafi bayyanannun matsalolin ƙirar ƙira sune ƙirar gadoji. A wannan yanayin, aikinku shine rufe nisan da ake buƙata tare da ɗan ƙaramin abu gwargwadon yiwuwa. A ɗayan ƙarshen bakan shine ƙirar kujera. Ya kamata masu zanen kujera su kashe lokacinsu suna tunani game da gindin mutane.

Ci gaban software yana da bambanci iri ɗaya. Ƙirƙirar algorithms don sarrafa bayanai ta hanyar hanyar sadarwa yana da kyau, matsala mai zurfi, kamar tsara gadoji. Ganin cewa tsara harsunan shirye-shirye kamar zayyana kujeru ne: dole ne ku magance raunin ɗan adam.

Wannan yana da wuya ga yawancin mu gane. Ƙirƙirar kyawawan tsarin ilimin lissafi yana da kyau sosai ga yawancin mu fiye da kula da raunin ɗan adam. Matsayin kyawun ilimin lissafi shine cewa ɗan matakin ƙayatarwa yana sa shirye-shirye cikin sauƙin fahimta. Amma ba duka game da ladabi ba ne.

Kuma lokacin da na ce ya kamata a tsara harsuna don dacewa da raunin ɗan adam, ba ina nufin ya kamata a tsara harsunan don masu tsara shirye-shirye ba. A zahiri, yakamata ku kasance kuna tsara software don mafi kyawun shirye-shirye, amma har da mafi kyawun shirye-shirye suna da iyaka. Ba na tsammanin kowa zai ji daɗin shirye-shirye a cikin yaren da aka kwatanta duk masu canji ta hanyar harafin "x" tare da bayanan ƙididdiga.

2. Zane don kanka da abokanka

Idan ka dubi tarihin harsunan shirye-shirye, yawancin yarukan da suka fi dacewa an tsara su ne don amfani da nasu marubuta, kuma mafi yawan mafi munin an tsara su don wasu mutane su yi amfani da su.

Lokacin da aka tsara harsuna don wasu mutane, ko da yaushe takamaiman rukuni ne na mutane: mutane ba su da wayo kamar waɗanda suka kirkiro harshen. Wannan shine yadda kuke samun harshen da ke magana da ku. Cobol shine mafi kyawun misali, amma yawancin harsuna suna cike da wannan ruhun.

Ba ruwansa da yadda harshen yake da girma. C yana da ƙananan matakin, amma an ƙirƙira shi don amfani da shi daga marubutansa, wanda shine dalilin da ya sa hackers ke son shi.

Hujjar zayyana harsuna ga masu tsara shirye-shirye mara kyau ita ce cewa akwai masu tsara shirye-shirye marasa kyau fiye da na kirki. Wataƙila wannan haka ne. Amma wannan ƙananan adadin masu shirye-shirye masu kyau suna rubuta ƙarin software ba daidai ba.

Tambayata ita ce, ta yaya kuke ƙirƙira yaren da ke sha'awar mafi kyawun hackers? Ga alama a gare ni cewa wannan tambayar daidai take da tambayar yadda ake ƙirƙirar harshe mai kyau na shirye-shirye?, amma ko da ba haka ba ne, aƙalla tambaya ce mai ban sha'awa.

3. Bawa mai shirye-shirye gwargwadon iko gwargwadon iko

Yawancin harsuna (musamman waɗanda aka tsara don wasu mutane) suna aiki kamar nannies: suna ƙoƙarin faɗakar da ku daga abubuwan da suke tunanin ba za su yi amfani da ku ba. Ina ɗaukar sabanin ra'ayi: ba mai shirye-shirye gwargwadon iko gwargwadon iyawa.

Lokacin da na fara koyon Lisp, abin da na fi so shi ne cewa mun yi magana daidai. A cikin sauran harsunan da na koya a lokacin, akwai harshe, kuma akwai shirye-shirye na a cikin wannan harshe, kuma sun kasance dabam dabam. Amma a cikin Lisp, ayyuka da macro da na rubuta su ɗaya ne waɗanda harshen da kansa aka rubuta a ciki. Zan iya sake rubuta harshen da kansa idan ina so. Yana da roko iri ɗaya da software na tushen buɗe ido.

4. Brivity 'yar'uwar baiwa ce

Ƙarshe ba shi da ƙima har ma da raina. Amma idan ka duba cikin zukatan masu satar bayanai, za ka ga suna matukar son takaitawa. Sau nawa ka ji masu kutse suna magana cikin daɗi game da yadda, a cikin, a ce, APL, za su iya yin abubuwa masu ban mamaki tare da layukan lamba biyu kawai? Ina tsammanin da gaske masu wayo suna son kula da wannan.

Na yi imani cewa kusan duk wani abu da ke sa shirye-shirye gajarta abu ne mai kyau. Ya kamata a sami ayyukan ɗakin karatu da yawa, duk abin da zai iya zama a fakaice ya zama haka; syntax ya kamata ya zama mafi taƙaice; Hatta sunayen mahaɗan ya kamata su zama gajere.

Kuma ba kawai shirye-shirye ya kamata su zama gajere ba. Littattafai kuma yakamata su zama gajere. Wani ɓangare mai kyau na littafin yana cike da bayani, ɓarna, gargaɗi da lokuta na musamman. Idan kana buƙatar gajarta littafin, mafi kyawun zaɓi shine gyara yaren da ke buƙatar bayani mai yawa.

5. Gane menene hacking

Mutane da yawa za su so hacking su zama lissafi, ko kuma aƙalla wani abu mai kama da kimiyya. Ina tsammanin hacking ya fi kamar gine-gine. Architecture yana magana ne akan ilimin kimiyyar lissafi ta yadda mai gini yana buƙatar tsara ginin da ba zai faɗo ba, amma ainihin burin mai ginin gine-gine shi ne ya ƙirƙiro babban gini, ba wai ya yi bincike a fagen ƙididdiga ba.

Abin da hackers ke so shine ƙirƙirar manyan shirye-shirye. Kuma ina tsammanin cewa, aƙalla a cikin tunaninmu, ya kamata mu tuna cewa rubuta manyan shirye-shirye abu ne mai ban mamaki, ko da lokacin da wannan aikin ba zai iya fassarawa cikin sauƙi na takardun ilimin kimiyya ba. Ta fuskar hankali, yana da muhimmanci a tsara harshen da masu shirye-shirye za su so kamar yadda ake tsara wani mugun abu wanda ke tattare da ra'ayin da za ku iya buga takarda akai.

Buɗe Batutuwa

1. Yadda za a tsara manyan ɗakunan karatu?

Dakunan karatu suna zama muhimmin sashi na yaren shirye-shirye. Suna girma sosai har yana iya zama haɗari. Idan ya ɗauki lokaci mai tsawo don nemo aiki a cikin ɗakin karatu wanda ke yin abin da kuke buƙata fiye da rubuta wannan aikin da kanku, to duk lambar ba ta yin komai sai sanya littafinku ya yi kauri. (Littattafan Symbolics misali ne na wannan.) Don haka dole ne mu magance matsalar tsara ɗakunan karatu. Da kyau, ƙirƙira su ta yadda mai tsara shirye-shirye zai iya tantance aikin ɗakin karatu ya dace.

2. Shin mutane suna tsoron da gaske game da ma'anar prefix?

Wannan matsala ce a bayyane ta ma'anar cewa na shafe shekaru da yawa ina tunaninta kuma har yanzu ban san amsar ba. Prefix syntax alama ce ta halitta gaba ɗaya a gare ni, sai dai watakila don amfani da shi a cikin lissafi. Amma yana iya zama yawancin rashin jin daɗin Lisp ne kawai saboda ƙa'idar da ba a sani ba ... Ko yana da daraja yin wani abu game da shi, idan gaskiya ne, wani lamari ne.

3. Menene kuke buƙata don software na uwar garke?

Ina tsammanin yawancin aikace-aikacen da za a rubuta a cikin shekaru ashirin masu zuwa za su kasance aikace-aikacen yanar gizo ne, a ma'anar cewa shirye-shiryen za su zauna a kan uwar garken kuma suna sadarwa tare da ku ta hanyar yanar gizo. Kuma don rubuta irin waɗannan aikace-aikacen muna buƙatar sababbin abubuwa.

Ɗaya daga cikin waɗannan abubuwa shine goyon baya ga sabuwar hanyar saki aikace-aikacen uwar garken. Maimakon babban fitowa ɗaya ko biyu a kowace shekara, kamar software na tebur, software na uwar garke za a saki a cikin jerin ƙananan canje-canje. Kuna iya samun saki biyar ko goma a rana. Kuma kowa zai kasance yana da sabon sigar koyaushe.

Shin kun san yadda ake tsara shirye-shirye don su kasance masu kiyayewa? Dole ne a tsara software na uwar garken don zama mai canzawa. Ya kamata ku iya canza shi cikin sauƙi, ko aƙalla san abin da ƙaramin canji yake nufi da abin da ke da mahimmanci.

Wani abu da zai iya zama da amfani a cikin software na uwar garken shine, ba zato ba tsammani, ci gaba da bayarwa. A cikin aikace-aikacen yanar gizo zaka iya amfani da wani abu kamar CPSdon samun tasirin ayyukan yau da kullun a cikin duniyar zaman gidan yanar gizo mara jiha. Samun ci gaba da wadata na iya zama daraja idan fasalin bai yi tsada ba.

4. Waɗanne sabbin abubuwa ne suka rage don ganowa?

Ban tabbata yadda wannan bege yake da ma'ana ba, amma da kaina ina so in gano sabon abstraction - wani abu da zai iya zama mai ma'ana kamar ayyukan aji na farko ko maimaitawa ko aƙalla sigogin da suka dace. Wataƙila wannan mafarki ne wanda ba zai yiwu ba. Sau da yawa ba a gano irin waɗannan abubuwa ba. Amma ban rasa bege.

Abubuwan sirri da aka sani

1. Kuna iya amfani da kowane harshe da kuke so

A baya can, ƙirƙirar aikace-aikacen yana nufin ƙirƙirar software na tebur. Kuma a cikin software na tebur akwai babban ra'ayi game da rubuta aikace-aikacen a cikin harshe iri ɗaya da tsarin aiki. Don haka shekaru goma da suka gabata, rubuta software gabaɗaya yana nufin rubuta software a cikin C. Daga ƙarshe, al'adar ta samo asali: bai kamata a rubuta aikace-aikacen cikin harsunan da ba a saba gani ba. Kuma wannan al'ada ta samo asali na tsawon lokaci wanda mutanen da ba fasaha ba kamar manajoji da masu jari-hujja sun koyi shi ma.

Software na uwar garken yana lalata wannan ƙirar gaba ɗaya. Tare da software na uwar garken zaka iya amfani da kowane harshe da kake so. Kusan babu wanda ya fahimci wannan har yanzu (musamman manajoji da masu jari-hujja). Amma wasu hackers sun fahimci wannan, wanda shine dalilin da ya sa muke jin labarin indy harsuna kamar Perl da Python. Ba ma jin labarin Perl da Python saboda mutane suna amfani da su wajen rubuta aikace-aikacen Windows.

Menene ma'anar wannan a gare mu, mutanen da ke sha'awar ƙirar harshen shirye-shirye, cewa akwai yuwuwar masu sauraro don aikinmu.

2. Gudun yana zuwa daga profilers

Masu haɓaka harshe, ko aƙalla masu aiwatar da harshe, suna son rubuta masu tarawa waɗanda ke samar da lambar sauri. Amma ina tsammanin wannan ba shine abin da ke sa harsuna cikin sauri ga masu amfani ba. Knuth ya lura da dadewa cewa saurin ya dogara da ƴan ƙullun ƙulla kawai. Kuma duk wanda ya yi ƙoƙari ya hanzarta shirin ya san cewa ba za ka iya tunanin inda ƙullun ya ke ba. Profile shine amsar.

Masu haɓaka harshe suna magance matsala mara kyau. Masu amfani ba sa buƙatar ma'auni don gudu da sauri. Suna buƙatar yaren da zai nuna waɗanne sassan shirye-shiryen su ne ake buƙatar sake rubutawa. A wannan lokacin, ana buƙatar saurin aiki a aikace. Don haka watakila zai fi kyau idan masu aiwatar da harshe sun kashe rabin lokacin da suke kashewa wajen inganta mai tarawa kuma su kashe shi wajen rubuta ingantaccen bayanin martaba.

3. Kuna buƙatar app wanda ke sa yaren ku ya haɓaka

Wannan bazai zama ainihin gaskiya ba, amma da alama mafi kyawun yarukan sun samo asali tare da aikace-aikacen da aka yi amfani da su. C mutanen da ke buƙatar shirye-shiryen tsarin ne suka rubuta. An tsara Lisp a wani ɓangare don bambance-bambancen alama, kuma McCarthy ya yi marmarin farawa har ma ya fara rubuta shirye-shiryen banbancewa a cikin takarda na farko na Lisp a 1960.

Wannan yana da kyau musamman idan aikace-aikacenku ya magance wasu sababbin matsaloli. Wannan yana tura harshen ku don samun sabbin abubuwan da masu shirye-shirye ke so. Da kaina, Ina sha'awar rubuta harshen da zai yi kyau ga aikace-aikacen uwar garken.

[A yayin tattaunawar, Guy Steele shi ma ya yi wannan tsokaci, inda ya kara da cewa bai kamata aikace-aikacen ya kunshi rubuta na'ura na harshenku ba, sai dai idan an tsara harshenku don rubuta na'ura.]

4. Harshen dole ne ya dace da rubuta shirye-shiryen lokaci ɗaya.

Kun san abin da shirin harbi ɗaya ke nufi: shine lokacin da kuke buƙatar hanzarta magance wasu ƙayyadaddun matsala. Na yi imani cewa idan kun duba, za ku sami shirye-shirye masu mahimmanci da yawa waɗanda suka fara a matsayin kashe-kashe. Ba zan yi mamaki ba idan yawancin shirye-shiryen sun fara farawa a matsayin kashe-kashe. Don haka, idan kuna son ƙirƙirar yaren da zai dace da rubuta software gabaɗaya, to ya kamata kuma ya dace da rubuta shirye-shiryen lokaci ɗaya, saboda wannan shine matakin farko na yawancin shirye-shirye.

5. Syntax yana da alaƙa da ilimin tauhidi

An yi imani da al'ada cewa syntax da ma'anar abubuwa daban-daban. Wannan na iya zama abin ban tsoro, amma ba haka ba. Ina ganin abin da kuke son cimmawa a cikin shirin ku ya shafi yadda kuke bayyana shi.

Kwanan nan na yi magana da Robert Morris, kuma ya lura cewa yawan yin lodin ma'aikata babban ƙari ne ga nasarar harsuna tare da infix syntax. A cikin yarukan da ke da prefix syntax, duk wani aiki da ka ayyana ainihin mai aiki ne. Idan kana son ƙara sabon nau'in lamba da ka ƙirƙira, za ka iya kawai ayyana sabon aiki don ƙara ta. Idan kayi haka a cikin yare tare da infix syntax, zaku ga cewa akwai babban bambanci tsakanin amfani da ma'aikacin da ya yi yawa da kiran aiki.

Ra'ayoyin da ke dawowa kan lokaci

1. Sabbin harsunan shirye-shirye

Idan aka waiwayi shekarun 1970s, abu ne mai kyau don haɓaka sabbin harsunan shirye-shirye. Yanzu ba haka lamarin yake ba. Amma na yi imanin cewa software na uwar garken zai sake dawo da salon ƙirƙirar sabbin harsuna. Tare da software na uwar garken kuna iya amfani da kowane harshe da kuke so, don haka idan wani ya ƙirƙiri yaren da ya fi sauran, za a sami mutanen da za su yanke shawarar amfani da shi.

2. Raba lokaci

Richard Kelsey ya fito da wannan ra'ayin wanda lokaci ya sake zuwa kuma na goyi bayansa sosai. Hasashena (da Microsoft ma) shine yawancin kwamfuta za su motsa daga tebur zuwa sabar nesa. A wasu kalmomi, raba lokaci ya dawo. Ina tsammanin wannan zai buƙaci tallafi a matakin harshe. Misali, Richard da Jonathan Reeves sun yi ayyuka da yawa don aiwatar da jadawalin tsari a cikin Tsarin 48.

3. inganci

Kwanan nan ya zama kamar kwamfutoci sun riga sun yi saurin isa. Muna ƙara jin labarin bytecode, wanda aƙalla a gare ni yana nufin muna da ɗan iko a ajiyar. Amma ina tsammanin cewa tare da software na uwar garken, ba mu da shi. Dole ne wani ya biya kuɗin sabar da ke tafiyar da software, kuma adadin masu amfani da uwar garken zai iya tallafawa kowace na'ura zai zama rarrabuwar kuɗin kuɗin su.

Ina tsammanin inganci zai zama mahimmanci, aƙalla a cikin ƙwanƙwasa ƙira. Wannan zai zama mahimmanci musamman ga ayyukan I/O, saboda aikace-aikacen uwar garken suna yin irin waɗannan ayyuka da yawa.

A ƙarshe, yana iya zama cewa bytecode ba shine amsar ba. Sun da Microsoft da alama suna tafiya gaba da gaba a cikin filin bytecode a halin yanzu. Amma suna yin haka ne saboda bytecode wuri ne mai dacewa don shigar da kanta cikin tsari, ba don bytecode kanta kyakkyawan ra'ayi ba ne. Yana iya zama cewa duk wannan yaƙin ba za a lura da shi ba. Zai zama abin ban dariya.

Tarko da tarko

1. Abokan ciniki

Wannan hasashe ne kawai, amma kawai aikace-aikacen da za su amfana su ne waɗanda ke gaba ɗaya-gefen uwar garke. Zayyana manhajojin da ke aiki bisa tsammanin cewa kowa zai samu abokin ciniki kamar tsara al’umma ne bisa tunanin cewa kowa zai kasance mai gaskiya. Tabbas zai dace, amma dole ne ku ɗauka cewa ba zai taɓa faruwa ba.

Ina tsammanin za a sami karuwa cikin sauri a cikin na'urorin da aka kunna yanar gizo, kuma za mu iya ɗauka cewa za su goyi bayan html na asali da siffofi. Kuna da browser a wayarka? Shin PalmPilot naku zai sami waya? Shin blackberry naku zai sami babban allo? Shin za ku iya shiga Intanet daga ɗan wasan ku? Daga agogon ku? Ban sani ba. Kuma ba zan iya gano ko na ci amanar cewa komai zai kasance a kan uwar garke. Abin dogara ne kawai don samun duk kwakwalwa akan sabar. .

2. Shirye-shiryen da ya dace da abu

Na gane wannan magana ce mai kawo rigima, amma bana jin OOP tana da mahimmanci haka. Ina tsammanin wannan shine tsarin da ya dace don takamaiman aikace-aikacen da ke buƙatar takamaiman tsarin bayanai, kamar tsarin taga, simulations, tsarin CAD. Amma ban fahimci dalilin da ya sa ya dace da duk shirye-shiryen ba.

Ina tsammanin mutane a cikin manyan kamfanoni suna son OOP, a wani ɓangare, saboda yana yin abubuwa da yawa waɗanda suke kama da aiki. Abin da a zahiri za a iya wakilta a matsayin, a ce, jerin ƙididdiga, yanzu ana iya wakilta a matsayin aji mai kowane nau'i na ɓarna, tashin hankali da hargitsi.

Wani fasali mai ban sha'awa na OOP shine hanyoyin suna ba ku wasu tasirin ayyukan aji na farko. Amma wannan ba labari bane ga masu shirye-shiryen Lisp. Lokacin da kuke da ayyuka na aji na farko na gaskiya, zaku iya amfani da su ta kowace hanya da ta dace da aikin da ke hannunku, maimakon tura komai cikin tukunyar jirgi na azuzuwan da hanyoyin.

Ina tsammanin abin da wannan ke nufi don ƙirar harshe shine kada ku sanya OOP sosai a ciki. Wataƙila amsar ita ce a ba da ƙarin abubuwa na gaba ɗaya, tushe, kuma bari mutane su tsara kowane tsarin abu azaman ɗakin karatu.

3. Zane ta kwamitin

Idan kwamiti ne ya tsara harshen ku, to, kun kasance cikin tarko, ba kawai don dalilan da kowa ya sani ba. Kowa ya san cewa kwamitocin suna son ƙirƙirar ƙira, ƙirar harshe mara daidaituwa. Amma ina ganin babban hatsarin shi ne rashin yin kasada. Lokacin da mutum ɗaya ke kan mulki, yana ɗaukar kasada wanda kwamitin ba zai taɓa yarda ya ɗauka ba.

Kuna buƙatar ɗaukar kasada don ƙirƙirar harshe mai kyau? Mutane da yawa za su yi zargin cewa ƙirar harshe shine inda za ku kasance kusa da hikimar gargajiya. Ina ganin ba haka lamarin yake ba. A cikin duk abin da mutane ke yi, ladan yana daidai da haɗarin. To me yasa zayyana harshe ya bambanta?

source: www.habr.com

Add a comment