Pragmatics at onomastics: pragmatic na kahulugan ng isang wastong pangalan. Sa problema ng pagtukoy ng mga hangganan ng paksang lugar ng computational linguistics

Ipadala ang iyong mabuting gawa sa base ng kaalaman ay simple. Gamitin ang form sa ibaba

Magaling sa site">

Ang mga mag-aaral, nagtapos na mga mag-aaral, mga batang siyentipiko na gumagamit ng base ng kaalaman sa kanilang pag-aaral at trabaho ay lubos na magpapasalamat sa iyo.

Mga katulad na dokumento

    Kahulugan ng mga trademark bilang mga pagtatalaga na ginagamit upang gawing indibidwal ang mga produkto ng mga legal na entity o indibidwal na negosyante. Pag-uuri ng mga trademark: nakalarawan, berbal, pinagsama, tunog, hologram at tatlong-dimensional.

    pagtatanghal, idinagdag noong 03/20/2012

    Ang papel na ginagampanan ng mga trademark at ang kanilang mga uri. Mga detalye ng pagbebenta ng mga branded na produkto. Mga legal na aspeto ng paggamit ng mga trademark. Ang pagsasanay ng advertising ng imahe sa merkado ng Russia. Eksklusibong karapatan sa isang trademark. Trademark bilang isang elemento ng advertising.

    pagsubok, idinagdag noong 02/14/2010

    Kakanyahan, layunin, mga uri ng mga trademark. Suriin ang mga tampok ng paggamit ng isang trademark. Organisasyon ng internasyonal na lisensyadong kalakalan. Magkalakal ng mga pekeng produkto. Mga hakbang na ginawa kapag kinikilala ang mga kalakal na may mga palatandaan ng peke.

    course work, idinagdag noong 11/28/2014

    Estilo ng korporasyon: konsepto, pag-andar, pangunahing elemento. Kasaysayan ng trademark. Ang kahalagahan ng mga kultural na tradisyon sa disenyo ng trademark. Ang kababalaghan ng pagbubura ng mga hangganan ng pambansa at estado. Maghanap ng matalinghaga at semantiko na mga ideya sa pagkamalikhain sa disenyo.

    course work, idinagdag 04/04/2018

    Mga uri at pag-andar ng mga trademark. Mga pangunahing kinakailangan para sa isang trademark, pati na rin ang mga panuntunan sa paggamit. Legal na proteksyon ng mga trademark sa Republika ng Belarus. Ang papel ng tatak at pagba-brand. Mga salik na tumutukoy sa antas at dynamics ng mga presyo sa mundo.

    abstract, idinagdag noong 07/21/2013

    Paglahok at mga uri ng laro sa advertising. Ang advertising bilang isang paraan ng komunikasyon. Sports advertising media at suporta sa pagbebenta: pamantayan para sa pagpili ng mga bagay at tao. Ang kahalagahan ng advertising para sa pagbuo ng mga trademark sa negosyong pang-sports. Mga proseso ng pagbabago sa palakasan ng Russia.

    abstract, idinagdag 03/23/2014

    Trademark bilang isang elemento na nakikilahok sa mga relasyon sa kalakalan. Mga uri at tampok ng isang trademark, nito sikolohikal na epekto sa kagustuhan at pagpili ng mamimili. Kasaysayan ng trademark ng Apple. Mga prinsipyo ng paglikha ng mga tatak ng produkto.

    abstract, idinagdag noong 11/24/2011

    Pagpaplano ng marketing bilang isang mahalagang bahagi ng isang plano sa negosyo sa Russia. Ang mga pangunahing layunin ng programa sa marketing, mga direksyon para sa pagtatasa ng pagiging epektibo nito. Ang problema sa pagbuo, pagbuo at pagtataguyod ng mga trademark. Mga kalamangan at pag-andar ng mga trademark.

    pagsubok, idinagdag noong 02/28/2012

Ang bawat isa ay nakatagpo ng mga tao na may napakalinaw na ideya kung ano mismo ang gusto nila, kung ano ang kanilang pinagsisikapan, at kung ano ang kinakailangan upang makuha o makamit ang gusto nila. Iyon ay, palagi at sa lahat ng bagay ay kumikilos ayon sa isang malinaw na plano, lumilipat patungo sa nilalayon na layunin, na malinaw nilang naiisip. Ang ganitong mga tao ay hindi nagsasabi: Ako mismo ay hindi alam kung ano ang gusto ko! Lagi nilang alam na alam ito! At kadalasan ay nakakamit nila ang kanilang mga layunin nang hindi humihinto o tumalikod. Ang mga ganyang tao ay tinatawag pragmatista. Kaya, ang mga pragmatista - matagumpay na mga tao makuha ang lahat ng kailangan nila.

Sa pagtingin sa kanila mula sa labas, kung minsan ay tila sila ay mga ordinaryong masuwerteng tao: paano nila nagagawa ang lahat? Bakit nagiging pabor sa kanila ang mga pangyayari? Paano nila laging naroroon kung saan sila dapat naroroon? Bakit hindi nila alam, mabuti, o halos hindi nila alam, ang mga pagkatalo at hindi sila dumaranas ng mga kabiguan? Ano ang espesyal sa kanila?!

Kaya sino ang pragmatista na ito? At ano ang pragmatismo?

Ang mga pragmatista ay mga taong medyo naiiba sa lahat, bagaman, sa esensya, walang kakaiba sa kanila. Hindi sila pinagkalooban ng regalo ng clairvoyance, hypnotic na kakayahan, at hindi alam kung paano basahin ang mga iniisip ng ibang tao. Ngunit, gayunpaman, ang mga pragmatista ay matagumpay na tao. Bakit? Pero dahil may special mindset sila. Analitikal.

Ang mga ito ay napakalakas na mga tao na nakakamit ang kanilang mga layunin. Ang mga aksyon ng mga pragmatista ay makabuluhan at lohikal. Sa anumang pagsisikap, ang isang pragmatista ay may malinaw na diskarte. Hindi niya kinikilala ang awtoridad ng sinuman at may sariling pananaw, batay sa matino na pangangatwiran. Ang isang pragmatist ay hindi nag-aaksaya ng oras sa hindi kailangan at walang silbi na maliliit na bagay, walang awa na itinatapon ang mga ito. Ang pragmatist ay umaasa sa kanyang sarili, hindi kailanman nagbabago ng responsibilidad sa iba, at nakapag-iisa na nakakamit ang lahat ng kanyang pinagsisikapan. Hindi siya magtatago sa likod ng isang tao.

Ito ay nagkakahalaga ng noting na ang benepisyo na kailangan ng isang pragmatist ay hindi kinakailangang materyal. Ang moral na kasiyahan ay maaaring maging layunin ng gayong tao, na tiyak na mararanasan niya. Pinahahalagahan ng mga pragmatista ang isang mahalagang mapagkukunan bilang oras, na tinatrato ito nang may paggalang. Malinaw nilang pinaplano ang mga bagay-bagay, pagkatapos ay nananatili sa kanilang mga plano, hindi kailanman iniiwan ang kanilang nasimulan sa kalagitnaan. At ito ay isa sa mga bahagi ng tagumpay ng mga tao ng isang pragmatic na baluktot.

Ang mga pragmatic na tao ay hindi nangangarap, sa kabaligtaran. Bagkus, sila ay mga materyalista, malayo sa sentimentalidad. Ang mga pragmatista ay hinihingi sa kanilang sarili at sa iba, obligado, responsable. Salamat sa isang matino na pagtingin sa mundo, nang walang kulay rosas na baso, ang mga pragmatista ay karaniwang hindi nabigo.

Kung tungkol sa saloobin ng pragmatista sa materyal na kayamanan, ang gayong mga tao ay lubos na pinahahalagahan ang kalayaan sa pananalapi. Karaniwan silang kumikita ng magandang pera. Ang mga pragmatista ay kadalasang nagiging matagumpay na mga negosyante. Ang kakayahan para sa malamig, matino na pagkalkula ay nakakatulong nang malaki sa kanila dito. Ang mga pragmatista ay handang mamuhunan ng pagsisikap o pera lamang kung sigurado sila na tatanggap sila ng maraming beses na higit pa kaysa sa kanilang namuhunan.

Ito ay parang mapang-uyam, ngunit hindi ito ganap na totoo. Ang mga pragmatista ay kadalasang handa na taimtim na nagmamalasakit sa mga mahal sa buhay, tumulong sa pananalapi at espirituwal, ngunit kung sila ay tumatanggap ng parehong saloobin sa kanilang sarili bilang kapalit. At kadalasan, ang pakiramdam na ito sa isang hindi malay na antas, hindi sila nagkakamali.

Ang ganitong mga tao ay karaniwang hindi pangkalakal. Hindi sila maliit, walang petty bargaining, miserliness, o redneckness sa kanila. Ang isang pragmatikong ulo ng pamilya ay hindi mangliligalig sa kanyang pamilya, na sinisisi sila para sa hindi mapipigilan na basura. Ngunit sa kanilang mga aksyon ay may isang tiyak, at malaki, ang halaga ng pagkamakasarili: ni isang pragmatist ay hindi kailanman makakatulong sa mga hindi pinahahalagahan ang tulong at hindi nagpapasalamat. Ito ba ay mabuti o masama? Mahirap sagutin nang walang pag-aalinlangan. Bilang karagdagan, hindi sila nagtitiwala at nagdududa sa mga salita at kilos ng ibang tao. Ang mga tao sa kanilang paligid ay madalas na itinuturing silang mga mapang-uyam, at totoo rin ito sa isang tiyak na lawak.

Kailan lumitaw ang pragmatismo? Pragmatismo sa pilosopiya.

Ang pragmatismo ay isang sangay ng pilosopiya, ang batayan nito ay isang praktikal na diskarte sa ilang mga dogma ng katotohanan, ang kahulugan ng mga kaganapan at phenomena. Ang tagapagtatag ay isinasaalang-alang (XIX siglo).

Siya ang unang nagbigay ng malinaw na kahulugan ng pragmatismo. Ang mga gawa ng naturang mga siyentipiko bilang William James , George Satayana, John Dewey. Kabilang sa mga pangunahing direksyon ang fallibilism, verificationism, radical empiricism, anti-realism, instrumentalism, ngunit may iba pa.

Ang interpretasyon ng terminong "pragmatismo" ay ang pagtanggi sa objectivity ng mga batas ng pilosopiya, pagkilala sa mga aspeto at phenomena na maaaring maging kapaki-pakinabang kapag nagsasagawa ng pananaliksik.

Noong 60s ng ikadalawampu siglo, isang bagong independiyenteng paaralan ng pilosopiya ang nabuo. Ang kanyang pagtuturo ay batay sa isang interpretasyon ng pragmatismo ayon sa mga ideya ng mga nag-iisip na siyang nagtatag. Tinanggihan ng mga tagasunod ng paaralang ito ang mga pangunahing postulate ng lohikal na empirismo at neopositivism. Mga kinatawan - Wilfrid Sellars, Willard Quine. Ang kanilang pananaw ay kasunod na malinaw na nabuo at binuo Richard Rorty. Ang pagtuturo ng pragmatismo ay may dalawang direksyon: pagsusuri At relativism . Mayroon ding ikatlong neoclassical na direksyon, at dapat banggitin ang kinatawan nito Susan Haack.

Sa kabila ng katotohanan na ang iba ay madalas na maingat sa mga pragmatista, isinasaalang-alang ang mga ito na malamig at walang kaluluwa, maraming mga tao ang nagnanais na magkaroon ng isang pragmatikong karakter sa sa pinakamabuting kahulugan mga salita. Ngunit hindi lahat ay napagtatanto ang pagkakataon na linangin ang mga pragmatikong katangian sa kanilang sarili sa kanilang sarili. Paano?

  1. Magpasya sa isang layunin. Siyempre, ito ay dapat na totoo at hindi kamangha-manghang. Pagkatapos ay magpasya para sa iyong sarili kung ano at kung paano gawin upang makumpleto ang gawain. At pumunta patungo sa pagkamit nito nang hindi iniisip ang tungkol sa posibleng kabiguan at nang hindi ginulo ng lahat ng bagay na hindi direktang nauugnay at maaaring makagambala.
  2. Magplano ng mga prospect sa buhay hindi lamang para sa malapit, kundi pati na rin sa malayong hinaharap. Ang mga pragmatista ay hindi nangangarap, sinusubukan nilang makahanap ng isang pagkakataon upang matupad ang kanilang mga pagnanasa, at kadalasan ay nahanap nila ito. Halos lahat ng mga pangarap, isang paraan o iba pa, ay maaaring isalin sa isang bagay na medyo totoo, at samakatuwid ay makakamit.
  3. Kapag sinimulan mo ang isang bagay, huwag sumuko sa kalagitnaan, ngunit siguraduhing tapusin ito hanggang sa wakas. Anumang kumplikadong problema ay maaaring malutas. At pagkatapos makumpleto, lilitaw ang isang pakiramdam ng kasiyahan at kumpiyansa.
  4. Bumuo ng isang diskarte sa pagkilos at laging manatili dito. Ang bawat tao'y nagkaroon at mayroon pa ring hindi natutupad na mga pagnanasa. Ang pagkakaroon ng malinaw na naiintindihan para sa iyong sarili kung ano ang eksaktong gusto mo, maaari kang magsimulang gumuhit ng isang magaspang na plano ng mga aksyon upang matupad ang iyong sariling mga hangarin. Kung ito ay nangangailangan ng mga gastusin sa pananalapi, tantiyahin kung paano at magkano ang iyong gagastusin. Maaaring kailanganin mo ng tulong mula sa mga mahal sa buhay at kaibigan. At dito rin, mahalagang isipin kung sino ang maaari mong kontakin kung kailan para siguradong makuha ito. Kailangan mong malinaw na malaman kung anong mga kasanayan o kakayahan ang kailangan para makamit ang layunin, at kung ano ang maaaring maging hadlang dito.
  5. at huwag mong sayangin.
  6. Patuloy na pag-aaral ng bago, pagbabasa ng higit pang mga libro para sa personal na paglago.

Ang modelong ito ng pag-uugali ay dapat palaging sundin sa lahat ng bagay, sa ganitong paraan maaari kang maging isang organisado at pragmatic na tao.

Ang cognitive linguistics ay malapit na nauugnay sa communicative pragmatics at mga teorya ng diskurso. Kaugnay ng mga paksang ito, malaki ang pagkakaiba nito sa istrukturang linggwistika. Kung para sa linggwistika ng istruktura ay sapat na upang i-postulate ang pagkakaroon ng wika bilang isang tiyak na abstract na network ng mga magkakaugnay, kung gayon para sa cognitive linguistics ang pokus ay hindi lamang sa wika sa hindi maihihiwalay na pagkakaisa ng anyo at sangkap nito, kundi pati na rin sa isang mas mataas na pagkakaisa - ang pagkakaisa ng wika at tao na kumikilos sa totoong mundo, nag-iisip at nakakaalam, nakikipag-usap sa kanyang sariling uri.

Structural linguistics, static sa kakanyahan nito, sa kaalaman ng wika ay nagmula sa mga bagay na pangwika gaya ng salita at ang gramatikal nitong anyo, pangungusap, teksto; linguistic pragmatics, batay sa cognitive linguistics, ay nagsisimula sa isang tao, sa kanyang mga pangangailangan, motibo, layunin, intensyon at inaasahan, mula sa kanyang praktikal at komunikasyong mga aksyon, mula sa mga sitwasyong pangkomunikasyon kung saan siya ay nakikilahok bilang isang pasimuno at pinuno, o bilang isang "pangalawa. ” gumanap na tungkulin.

Ang mga disiplina tulad ng pagsusuri sa diskurso at pagsusuri ng pag-uusap (i.e., kusang oral speech) na nabuo sa loob nito ay nakatuon sa mga setting ng paradigm ng aktibidad. Para sa mga kinatawan ng paradigm na ito, ang wika ay hindi mahalaga sa kanyang sarili at hindi pinag-aaralan sa kanyang sarili at para sa kanyang sarili. Ito ay ontologically at epistemically kasama sa aktibidad ng tao, na parehong isa sa mga pinakamahalagang tool nito at isa sa mga pinakamahalagang produkto nito. Kaya, ang communicative approach sa wika ay maaaring tukuyin bilang isang antropolohikal na diskarte.

Ang pagpapakilala ng isang antropolohikal na diskarte sa wika sa linggwistika ay nagpatindi ng interes sa mga personal at panlipunang aspeto ng aktibidad ng tagapagsalita. Naging malinaw na ang pagpapatupad at interpretasyon ng ilang mga estratehiya ng komunikasyong pandiwa ay hindi maaaring isagawa nang hindi isinasaalang-alang ang magkakaibang personal at sosyokultural na aspeto ng proseso ng komunikasyon. Mula sa pananaw ng mga makabagong diskarte, ang diskurso ay isang kumplikadong communicative phenomenon na, bilang karagdagan sa mga teksto, kasama rin ang extralinguistic na mga kadahilanan (kaalaman tungkol sa mundo, mga opinyon, saloobin, mga layunin ng addressee) na kinakailangan para sa pag-unawa sa teksto.

Paano isinasaalang-alang ang mga prosesong nagbibigay-malay sa mga pragmatikong komunikasyon? Sa natural na komunikasyon sa linggwistika - na may napakalaking at walang katapusang pagkakaiba-iba ng mga kadahilanan na tumutukoy dito - ang bilang ng mga posibleng "galaw" ay hindi maaaring kalkulahin. Ang pinakamahirap na gawain ng pagkalkula ng mga ito ay pinasimple lamang sa pamamagitan ng pagtukoy ng ilang paulit-ulit, pinakakaraniwang mga istruktura na nagdudulot ng ilang mga reaksiyong nagbibigay-malay. Binibigyang-diin ng maraming mananaliksik ang dalawang pangunahing aspeto sa pagsusuri ng diskursong nagbibigay-malay: ang istruktura ng representasyon ng kaalaman at ang mga pamamaraan ng organisasyong konsepto nito.


Kaya, para sa communicative pragmatics, tulad ng para sa cognitive psychology at artificial intelligence, ang paksa ng representasyon ng kaalaman ay kasinghalaga rin. Ang anumang aksyong pangkomunikasyon sa loob ng balangkas ng kusang o organisadong diskurso ay kumakatawan sa pagpapatupad ng ilang mga istrukturang komunikasyon-kognitibo. Ang ganitong mga istrukturang nagbibigay-malay ay mga frame model na naglalaman ng impormasyon ng isang sosyokultural na kalikasan, o kaalaman sa tinatawag ni Wittgenstein na "mga laro sa wika."

Para sa pag-unawa sa mga teksto - parehong nakasulat at pasalita - ang mahalaga ay kung paano ang "may-akda" ng mensahe at ang tatanggap ng "modelo" na kaalaman tungkol sa mundo. Nagiging posible lamang ang komunikasyon kung mayroong ilang semantiko, impormasyong "kondensasyon" ("mga frame", "mga modelo ng kaisipan", "mga senaryo", "mga modelo ng sitwasyon") sa kamalayan ng bawat tagapagsalita, sa kanyang larawan ng mundo) . Bumalik sa 30s ng XX siglo. Tinukoy ni F. Bartlett ang konsepto ng "impormasyon scheme", isang scheme na kinakatawan sa memorya. Ang konseptong ito ay pumasok din sa cognitive psychology. Tulad ng nabanggit na, sa computer linguistics ang mga konsepto ng "scenario" at "frame" ay ginagamit din sa linggwistika at sosyolohiya ang konsepto ng frame. Nag-aambag ang mga frame sa sapat na pagpoproseso ng cognitive ng mga tipikal na sitwasyon, pagkakaugnay-ugnay ng teksto, nagbibigay ng mga inaasahan sa konteksto, at ginagawang posible na mahulaan ang mga paparating na kaganapan batay sa mga naunang nakatagpo. Kaya naman nag-aalok ang communicative-cognitive pragmatics ng ilang paraan ng pag-aaral kung ano ang gumagawa ng mga teksto na magkakaugnay at magkakaugnay para sa perceiver.

Kapag naglalarawan ng iisang speech act, hindi lamang ang pangkalahatang tipikal na mga scheme ng praktikal at mga gawaing pangkomunikasyon, ngunit pati na rin ang mga tipikal na pamamaraan para sa pag-aayos ng panloob na mundo ng tagapagsalita, sa madaling salita, isang hanay ng mga istrukturang nagbibigay-malay na ipinakita sa kanyang larawan ng mundo (natukoy sa lipunan at etnokultural, ngunit indibidwal sa kanyang paraan ng pag-iral). Ang produksyon at pag-unawa sa pagsasalita ay nakabatay hindi lamang sa abstract na kaalaman tungkol sa mga stereotypical na kaganapan at sitwasyon - tulad ng sa mga mental model, script at frame - kundi pati na rin sa personal na kaalaman ng mga katutubong nagsasalita, na naipon ang kanilang nakaraang indibidwal na karanasan, saloobin at intensyon, damdamin at damdamin. Binubalangkas ito ni T. van Dyck sa paraang hindi kumikilos ang mga tao sa totoong mundo at hindi gaanong nagsasalita tungkol dito, ngunit tungkol sa mga subjective na modelo ng mga phenomena at sitwasyon sa katotohanan. Sa pagsasaalang-alang na ito, maaari nating banggitin mula sa aklat ng sikat na Russian linguist at philologist na si B. Gasparov: "Ang pagiging natatangi ng karanasan sa buhay-linggwistika ng bawat isa sa atin ay patuloy na naghihiwalay sa atin sa isa't isa" (B. Gasparov. Wika, memorya, larawan: Linguistics of linguistic existence M., 1996. P. 16).

Gayunpaman, palagi kaming nagkakaintindihan kahit papaano - tama man o mali; Ang pagtuon sa pag-unawa ay isang pangunahing kondisyon ng komunikasyon ng tao. Kasabay nito, ang matagumpay na pag-unawa ay nangyayari hindi lamang kapag sinubukan ng mga tao na maunawaan ang kahulugan ng mga salita at parirala sa isang pahayag, kundi pati na rin, una sa lahat, kapag sila ay nakatuon sa intensyon ng interlocutor, sa kung ano ang nais niyang ipahayag, Ano aksyon sa pagsasalita gumagawa.

Ang unang pagtatangka na tingnan ang pagsasalita sa pamamagitan ng prisma ng mga aksyon ng isang katutubong nagsasalita ay ipinahayag sa teorya ng mga kilos sa pagsasalita, sa pagbuo kung saan ang mga pananaw ng mga siyentipiko tulad nina J. Austin, J. Searle, at P. Grice ay nilalaro. isang pangunahing papel.

Sa teorya ng speech acts, na unang binuo ni J. Austin, ang pangunahing yunit ay ang "speech act" - isang quantum of speech na nag-uugnay sa iisang intensyon ("illocution"), isang nakumpletong minimal na segment ng speech at ang nakamit na resulta. Ang pundasyon ng tesis na ito ay ang ideya na ang pinakamababang yunit ng komunikasyon ng tao ay hindi isang pangungusap o iba pang pagpapahayag, ngunit isang aksyon - ang paggawa ng ilang mga kilos, tulad ng isang pahayag, isang tanong, isang utos, isang paglalarawan, isang paliwanag, isang paghingi ng tawad, pasasalamat, pagbati.

Ang mga ideya ni J. Austin ay binuo sa gawain ni J. Searle na "Speech Acts", kung saan ang pagsasalita ay itinuturing na pagganap ng ilang mga aksyon. Ang pananalita, ayon kay Searle, ay likas na gumaganap, ang layunin nito ay maaaring baguhin ang kapaligiran ng nagsasalita o ang paraan ng pag-iisip ng kausap. Ang "illocutionary intention" ng nagsasalita ay ang sinusubukang ipahiwatig ng huli gamit ang wika, at ayon dito, ang esensya ng proseso ng komunikasyon ay nakasalalay sa paglutas ng intensyon na ito. Upang ipaliwanag ang pag-unawa / hindi pagkakaunawaan sa proseso ng komunikasyon, ang terminong "matagumpay na illocutionary act" ay iminungkahi, ang esensya nito ay upang makamit ang isang tiyak na resulta para sa kapakanan kung saan ito ay ipinaglihi at ipinatupad.

Kailangang malaman ng isang mananaliksik ng komunikasyon kung ano ang eksaktong nag-aambag sa tamang pang-unawa ng tagapakinig sa intensyon ng tagapagsalita - at ito ay higit sa lahat na nananatili sa labas ng pandiwang pagpapahayag at gayunpaman ay lumalabas na isang mahalagang bahagi ng pagbigkas. Ang natitirang nilalamang "sa likod ng mga eksena" ay parehong tumutukoy sa indibidwal na karanasan ng mga indibidwal na nakikilahok sa komunikasyon, at sa kaalamang "background" na nagbubuklod sa kanila o, sa kabilang banda, naghihiwalay sa kanila.

Ito ay isang pangkalahatang tinatanggap na katotohanan na ang iba't ibang uri ng mga pamayanang pangwika at sosyo-kultural na strata ng lipunan ay nailalarawan sa pamamagitan ng orihinalidad ng paggamit ng wika. Sa proseso ng mastering ang konteksto ng isang speech production, ang mga kalahok sa isang speech event ay dapat na may pangkalahatang background na kaalaman sa parehong lingguwistika at historikal, kultural, at panlipunang kalikasan. I.V. Ang Hübbenet ay tumutukoy sa background na kaalaman bilang ang sosyo-kultural na background na nagpapakilala sa pinaghihinalaang pananalita. Itinatampok ng V.S. Vinogradov ang pambansang aspeto ng kaalaman sa background, nang walang pag-aaral na imposibleng makamit ang isang kumpleto at tamang pag-unawa kapag nagpapalitan ng impormasyon. Para sa tagumpay ng komunikasyon, ang pagkakatulad ng kaisipan ay mahalaga, na nagbibigay-daan para sa kaunting pagbabago sa kaalaman sa proseso ng komunikasyon. Samakatuwid, kailangang isaalang-alang ng mananaliksik ng komunikasyon ang "kaalaman sa background," na siyang magkaparehong kaalaman sa mga katotohanan sa pagitan ng nagsasalita at ng tagapakinig, na siyang batayan ng komunikasyong pangwika.

Sa kasalukuyan, mayroong anim na pangunahing direksyon sa pag-aaral ng diskurso: ang teorya ng speech acts, interactional sociolinguistics, etnography of communication, pragmatics, conversation analysis at variation analysis. Ang mga mapagkukunan para sa pagbuo ng mga modelo ng pag-unawa at mga pamamaraan ng pagsusuri sa diskurso sa mga nakalistang diskarte (kasama ang lahat ng maraming pagkakaiba sa pagitan nila) ay ang mga tagumpay ng mga disiplina tulad ng linggwistika, antropolohiya, sosyolohiya, pilosopiya, teorya ng komunikasyon, sikolohiyang panlipunan at artificial intelligence. .

Sa kabila ng mga pagkakaiba sa mga pamamaraang ito, mayroong isang bagay na karaniwan at nagkakaisa sa mga ito, na kasabay nito ay karaniwan sa lahat ng pananaliksik sa linggwistika na nakatuon sa nagbibigay-malay. Ito ang anthropocentricity ng wika, o mas tiyak, ang praktikal, teoretikal at kaalaman sa kultura, karanasan, pinagkadalubhasaan, makabuluhan at direkta o hindi direktang binigkas ng mga katutubong nagsasalita, at sa huli ay naibalik - bilang resulta ng semantiko at konseptwal na pagsusuri– sa anyo ng linguistic na larawan ng mundo.

Ang turn sa linguistic research sa pragmatics ng wika, ang tunay na kondisyon ng paggana nito, ay natural at kinakailangan. Ang nangungunang mga uso sa agham ng wika noong 60s at 70s, linguistic structuralism at logical semantics, ay may isang makabuluhang disbentaha - isang mahinang koneksyon sa katotohanan at mga praktikal na aktibidad ng mga tao. Ang pagbigkas (at pananalita sa pangkalahatan) ay nauugnay sa mga teoryang ito sa kondisyon na "katamtaman" na katutubong nagsasalita, at ang mga tunay na tao na gumagamit ng wika sa kanilang mga damdamin, relasyon, intensyon at layunin ay nanatili sa labas ng pagsusuri (Gak 1998: 555). Unti-unti, dumating ang pag-unawa na para sa isang mas kumpletong paliwanag ng wika - kapwa ang istraktura nito at ang mga tampok ng paggamit nito sa pagsasalita - kinakailangan na bumaling sa mga kadahilanan ng paggana ng mga yunit ng lingguwistika, i.e. sa pragmatics.

Ang pagkakakilanlan at pagbuo ng linguistic pragmatics proper ay pinasigla, sa isang banda, ng mga ideya ni Ch.S. Pierce at CHU. Morris, at sa kabilang banda ay umasa sa konsepto ng yumaong Wittgenstein. Ayon kay V.V. Petrov, ito ay ang mga gawa ni L. Wittgenstein na higit na nag-ambag sa pagbabago ng pragmatics, bilang bahagi ng pangkalahatang semiotic theory, sa isang independiyenteng larangan ng pananaliksik, na naglalagay ng pundasyon para sa isang malakas na stream. mga makabagong gawa sa pragmatics (Petrov 1987). Ang simula ng masinsinang pag-unlad ng pragmatics ay conventionally na maiugnay sa 1970 - ang oras ng International Symposium on the Pragmatics of Natural Languages ​​​​(Bulygina 1981:333).

Ang pragmatics, bilang isang espesyal na direksyon sa pag-aaral ng wika, mula pa sa simula ng pagkakaroon nito ay ipinahayag ang sarili na napakalawak at napakalawak.

hindi natukoy na disiplinang pang-agham. Halos lahat ng gawain sa pragmatics (hindi alintana kung ang may-akda nito ay karaniwang nakatuon sa linguistic semantics, pilosopiya ng wika, o pormal na lohika) ay nagsisimula sa muling pagbalangkas sa paksa ng pananaliksik at, alinsunod dito, ang pagtukoy sa pag-unawa ng may-akda sa pragmatic sa wika.

Pagkilala sa mga gawain at problema ng pragmatikong pananaliksik, N.D. Arutyunov at E.V. Pansinin ni Paducheva na, unti-unting lumalawak, "ipinapakita nila ang isang ugali na lumabo ang mga hangganan sa pagitan ng linggwistika at mga kaugnay na disiplina (sikolohiya, sosyolohiya at etnograpiya) sa isang banda, at mga kalapit na seksyon ng linggwistika (semantics, retorika, estilista) sa kabilang banda" ( Arutyunova, Paducheva 1985 : 4).

Ang linguistic pragmatics ay malapit na nauugnay sa sociolinguistics at psycholinguistics. Ang pagkakaroon ng mga karaniwang interes sa pagitan ng pragmatics at sociolinguistics ay napakahusay na humantong sa pagtatatag sa dayuhang agham ng kahit na isang hiwalay na disiplina - sociopragmatics, na pinag-aaralan ang pag-asa ng komunikasyon sa pagsasalita sa mga panlipunang salik (ARSLS 1996: 541; tingnan din ang Leech 1983: 10).

Ang paglabo ng mga hangganan ng linguistic pragmatics ay maliwanag na dahil sa ang katunayan na sa maikling panahon ay hinigop nito ang mga ideya ng teorya ng linguistic na komunikasyon, ang teorya ng teksto, communicative grammar, mga bagong konsepto ng retorika, ang teorya ng speech acts, ang teorya ng diskurso, i.e. lahat ng mga disiplina na may paksa sa paggamit ng wika ng mga tao.

Bilang resulta, unti-unting nagkakaroon ng pag-unawa sa pragmatics ang komunidad ng siyensya bilang isang direksyon na nauugnay sa paglutas ng malawak na iba't ibang mga problema sa paglalarawan ng paggana ng wika. Ang pagbuo ng mga ideya ng linguistic pragmatics, ang kahulugan ng mga spheres ng aplikasyon at mga gawain nito ay makikita sa maraming interpretasyon ng terminong "pragmatics".

Ang terminong "pragmatic" (pag-aaral ng wika) ay lumitaw noong 1920s - sa anyo ng pang-uri ito ay ginamit noong 1923 ni B. Malinowski sa isang apendise sa aklat ni Ogden at Richards na "The Meaning of Meaning". Pagkatapos, at ang posisyong ito sa "kasaysayan ng pragmatics" ay karaniwang tinatanggap, ang terminong "pragmatics" ay nilikha ni C. Morris noong 1938 para gamitin sa kilalang triad ng syntactics (syntax), semantics at pragmatics bilang mga bahagi ng semiotics. (Nerlich & Clarke 1994; Nerlich 1995). C. Morris, na nagsasagawa ng pananaliksik na naglalayong pag-aralan ang istruktura ng isang senyas na sitwasyon (semiosis) sa isang dinamiko, procedural na aspeto, kasama ang mga kalahok sa sitwasyong ito, na nakikilala sa pagitan ng tatlong nabanggit na aspeto ng semiotics, na tumutukoy sa pragmatics bilang "ang relasyon ng mga palatandaan sa mga nagpapakahulugan sa kanila” (Morris 1938 : 6). Gayunpaman, sa paglaon, na may kaugnayan sa pag-unlad ng mga pananaw ng mananaliksik, at dahil din sa katotohanan na ang termino ay nakakuha na ng hindi kanais-nais na kalabuan at kalabuan, tinukoy ni Morris ang pragmatic bilang pag-aaral ng "pinagmulan, paggamit at epekto ng mga palatandaan)" ( Morris 1946: 219). Mula sa kahulugan na ito ay sumusunod na ang atensyon ng mananaliksik ay dapat ituro sa isang komprehensibong pag-aaral ng tatlong magkakaugnay na proseso ng isang kadena - ang pagbuo, paggamit (paggana) at impluwensya ng mga palatandaan. Ang pag-unawa sa pragmatics na kaayon ng kahulugan ni Morris ay matatagpuan sa akda ni G. Klaus, na tumutukoy sa pragmatics bilang "sikolohikal at panlipunang aspeto ng paggamit ng mga linguistic sign" (Klaus 1967: 22).

Ang pangitain ng pragmatics, tulad ng ipinakita ni Charles Fillmore, ay tila kawili-wili. Ang depinisyon nito ay medyo detalyado at mababasa ang mga sumusunod: “Pinag-aaralan ng pragmatics ang tatlong-dimensional na relasyon na pinag-iisa ang (1) mga anyo ng linggwistika, (2) ang mga tungkuling pangkomunikasyon na kayang gawin ng mga pormang ito sa (3) mga konteksto o kapaligiran kung saan ang mga lingguwistikang ito. ang mga form ay maaaring magkaroon ng data linguistic functions" (sinipi mula kay Pocheptsov (Jr.) 1984: 33).

Ang isang kilalang linguistic na kahulugan ng pragmatics noong huling bahagi ng dekada 70 at unang bahagi ng dekada 80 ay ang kahulugang iminungkahi ni R.S. Stolnaker. Ang pragmatics, ayon kay Stolnaker, ay ang pag-aaral ng mga speech acts at ang mga konteksto kung saan ang mga ito ay ginawa at ipinatupad. Ang layunin ng pragmatics bilang isang disiplina ay dapat na i-highlight ang klasipikasyon ng mga speech act at ang kanilang mga produkto, i.e. mga kaugnay na pahayag (Stalnaker 1972).

Madalas na binibigyang-diin na ang pragmatics ay higit na tumutugma sa prinsipyo ng aktibidad, at sa gayon ay nagpapakilala ng isang aksyon (aktibidad) na aspeto sa paglalarawan ng wika. Ang pagsusulatan ng pragmatics sa mga kinakailangan ng prinsipyo ng aktibidad ay makikita sa kahulugan paksa pragmatist, na ibinigay ni E.S. Aznaurova. Ang paksa ng linguistic pragmatics, sa kanyang opinyon, ay "ang pag-aaral ng wika sa aspeto ng aktibidad ng tao sa isang malawak na kontekstong panlipunan" (Aznaurova 1988: 8). 1 Ang pag-aaral ng mga katotohanan ng wika sa aspeto ng aktibidad ng tao ay itinuturing na pangunahing postulate ng pragmatics. Ngunit, gaya ng binanggit pa ni E.S. Aznaurov, "ang lawak ng postulate ay humantong sa isang makabuluhang pagkalat ng mga paksa at mga problemang tinalakay sa loob ng direksyong pangwika na ito, mula sa pragmatic na interpretasyon ng mga linguistic sign at teorya ng speech acts, hanggang sa pag-aaral ng mga pragmatic na parameter ng komunikasyong pampanitikan at ang teksto sa dinamika nito, na nauugnay sa "Ako" na lumilikha ng taong teksto" (ibid.: 10).

Ang isang malawak na pag-unawa sa pragmatics, kapag ang saklaw ng interes nito ay kinabibilangan ng mga isyu ng deixis, speech acts, presuppositions, conversion implicatures, mga problema na nauugnay sa interpretasyon ng pagsasalita, kapag ang gawain ng pragmatics bilang isang hiwalay na linguistic science ay tinatawag na "ang pag-aaral ng mga sulat. sa pagitan ng mga yunit ng wika at ang mga epekto ng kanilang paggamit” (Pocheptsov 1985 : 16) o “ang pag-aaral ng ugnayan sa pagitan ng mga anyong pangwika (mga entidad) at ng mga gumagamit ng mga anyong ito” (Yule 1996: 4) ay sumasalungat sa diskarte kapag ang tanging ang tunay na bagay ng pag-aaral sa larangan ng pragmatik ay itinuturing na maisasakatuparan sa teksto

Sa pagsasalita tungkol sa paksa ng pragmatics, dapat tandaan na kahit na ang isang malaking bilang ng mga linguist ay sumasang-ayon sa pagkilala sa pragmatics bilang isang espesyal na disiplina sa linggwistika, ang posisyon na ito ay hindi karaniwang tinatanggap. Itinatanggi ng ilang mananaliksik ang pragmatics sa sarili nitong paksa ng pag-aaral at naghihinuha na imposibleng isaalang-alang ito bilang isa pang bahagi ng teorya ng wika. Ibinibigay lamang ang katayuan ng isang espesyal na pananaw (pragmatic perspective) sa pagsasaalang-alang ng linguistic phenomena (tingnan ang Verschueren 1999). pragmatikong saloobin, sa katunayan pangkalahatang pananaw tinukoy bilang "ang malay-tao na intensyon ng nagpadala ng isang mensahe, na ginawa sa teksto, upang magkaroon ng kaukulang epekto sa tatanggap ng talumpati" (Naer 1985: 16). Ang mga tagapagtaguyod ng pag-unawang ito ng pragmatics ay naniniwala na ang iminungkahing maximum na limitasyon sa aplikasyon ng pragmatics ay ginagawang posible upang makilala ang isang globo sa wika na nauugnay sa impluwensya sa pagsasalita sa pagtatakda ng layunin, katulad ng pagkilos (Geliya 1988: 189).

Ang pag-unawa sa mga gawain ng pragmatics ay makikita sa pananaliksik kung saan ang diin ay ang huling resulta ng komunikasyon - ang epekto ng epekto (perlocutionary effect ayon kay Austin), kapag ang mga isyu ng pag-aaral ng verbal na kontrol ng pag-uugali ng tao, pagmomodelo ng panlipunan at ang indibidwal na pag-uugali ng mga tao sa pamamagitan ng pagsasalita ay nasa unahan (Kiseleva 1978).

Ang pragmatikong diskarte sa pag-unawa sa kalikasan ng wika ay nabuo at patuloy na umuunlad sa ilalim ng tanda ng pagsasama ng pagiging subjectivity ng nagsasalita sa pag-unawang ito. Kaya, sa konsepto ng Yu.S. Ang kategorya ng paksa ni Stepanov ay tinukoy bilang ang sentral na kategorya ng modernong pragmatics (Stepanov 1981; 1985; 2001). Kasabay nito, sa pagtaas ng kalinawan, ang pangangailangan na isaalang-alang ang kadahilanan ng addressee ay natanto, i.e. ang subjectivity ng tagapakinig, na nagsisilbing panimulang punto para sa pagbuo ng isang teorya ng interpretasyon ng mga akdang pagsasalita na lumilitaw sa ilang mga konteksto ng komunikasyon, kapag ang object ng interpretasyon ay ang karaniwang tinatawag na pragmatic na kahulugan ng pagbigkas (Arutyunova 1981).

Naniniwala ang ilang mananaliksik na ang konsepto ng interpretasyon ay nagpapahintulot sa atin na bumalangkas ng mga obserbasyon sa mga katangian ng wika sa pinakanatural na paraan at, sa isang paraan o iba pa, ay naroroon sa anumang pragmatikong pananaliksik (Demyankov 1981: 369). Ang ikatlong punto ng pananaw sa kahalagahan ng mga kadahilanan ng paksa ng pagsasalita at ang addressee ay ang diskarte na tumutukoy sa tilapon ng pragmatics bilang isang paggalaw mula sa egocentrism hanggang sa prinsipyo ng pinagsama-samang binary "kasama ang linya ng synthesis ng subjectivity ng nagpadala at ang pagiging subjectivity ng addressee sa isang solong at sama-samang kumikilos na kadahilanan" (Sidorov 1995: 470).

Ang komprehensibong pagsasalaysay ng iba't ibang salik na binibigyang-diin sa pragmatikong pananaliksik ay "nagbibigay-daan sa atin na mas maunawaan ang mga detalye ng wika sa tunay na paggamit nito" (Gak 1997: 361) at nagpapatotoo sa pambihirang potensyal ng pragmatika.

Tulad ng makikita mula sa mga kahulugan sa itaas, ang pagdadala ng isa o ibang grupo ng mga kadahilanan sa unahan ay nagpapahintulot sa amin na pag-usapan iba't ibang uri o mga variant ng pragmatics. Noong unang bahagi ng 1970s, ang T.M. May kumpiyansa si Dridze sa pagkakaroon ng dalawang pragmatics - "communicator pragmatics" at "recipient pragmatics" (Dridze 1972: 34-35). Si J. Yule, na sa pagtatapos ng 1990s, ay tinukoy ang konsepto ng user ("user") at nagbigay ng malawak na kahulugan ng pragmatics, na isinasaalang-alang ang posisyon ng nagpadala, ang posisyon ng tatanggap at tumutukoy sa iba't ibang mga opsyon. para sa pragmatics, depende sa pananaw ng pag-aaral. Ang pragmatics ni J. Yule "ay tumatalakay sa pag-aaral ng kahulugan habang ito ay ipinapahayag ng mga nagsasalita (o mga manunulat) at binibigyang-kahulugan ng isang tagapakinig (o mambabasa), na nagpapahintulot sa atin na pag-usapan ang tungkol sa: (1) pragmatics ay ang pag-aaral ng kahulugan ng tagapagsalita ); (2) pragmatics ay ang pag-aaral ng kontekstwal na kahulugan; (3) pragmatics of implications (pragmatics ay ang pag-aaral kung paano mas marami ang naipaparating kaysa sinabi); (4) pragmatics ay ang pag-aaral ng pagpapahayag ng relatibong distansya (Yule 1996: 3).

Dito ay kagiliw-giliw na ihambing ang mga barayti ng pragmatik na iminungkahi ni J. Yule sa isang medyo detalyadong paglalahad ng mga gawain ng pragmatik na ito ay binabalangkas ni N.D. Arutyunova. Tinukoy ng may-akda ang apat na pangunahing problema, kabilang ang isang hanay ng mga isyu na may kaugnayan sa paksa ng pagsasalita, ang addressee, ang kanilang pakikipag-ugnayan sa komunikasyon at ang sitwasyon ng komunikasyon.

Kaugnay ng paksa ng talumpati, mga pag-aaral ng pragmatika: (1) tahasan at nakatagong layunin ng pagbigkas; (2) mga taktika sa pagsasalita at mga uri ng gawi sa pagsasalita; (3) mga tuntunin ng pag-uusap, napapailalim sa prinsipyo ng pakikipagtulungan; (4) saloobin ng nagsasalita o pragmatikong kahulugan ng pagbigkas; (5) sanggunian ng tagapagsalita; (6) pragmatic presuppositions; (7) ang saloobin ng nagsasalita sa kanyang ipinapahayag.

Kaugnay ng addressee ng talumpati, ang mga sumusunod ay isinasaalang-alang: (1) interpretasyon ng talumpati; (2) ang epekto ng pahayag sa addressee; (3) mga uri ng tugon sa pagsasalita sa natanggap na pampasigla.

Kaugnay ng mga ugnayan ng mga kalahok sa komunikasyon, ang mga sumusunod ay pinag-aaralan: (1) mga anyo ng komunikasyong berbal; (2) panlipunan at kagandahang-asal na bahagi ng pananalita; (3) ang ugnayan sa pagitan ng mga kalahok sa komunikasyon sa ilang partikular na speech act (i.e. mga relasyon sa papel).

Kaugnay ng sitwasyon ng komunikasyon sa pragmatics, pinag-aaralan ang mga sumusunod: (1) ang interpretasyon ng mga deictic sign, gayundin ang mga indexical na bahagi sa kahulugan ng mga salita; (2) ang impluwensya ng sitwasyon sa pagsasalita sa paksa at anyo ng komunikasyon (Arutyunova 1990a: 390).

Ang paghahambing ng mga variant ng pragmatics ni J. Yule at sa mga lugar ng aplikasyon, ang mga gawain ng pragmatics ni N.D. Arutyunova, hindi maaaring hindi mapansin ng isang tao na ang mga pragmatika ng mga implikasyon, na itinampok ni Yul bilang isang hiwalay na punto, ay kasama sa N.D. Arutyunova sa isang malawak na hanay ng mga isyu na pinag-aralan na may kaugnayan sa paksa ng pagsasalita, at ang mga pragmatika ni Yul ng kontekstwal na kahulugan ay hindi hihigit sa isang makitid na bilog ng mga isyu na isinasaalang-alang na may kaugnayan sa addressee ng pagsasalita. Sa pangkalahatan, nakikita natin ang isomorphism sa kahulugan ng isang hanay ng mga pangunahing isyu, na maaaring bigyang-kahulugan bilang unti-unting pagbuo ng mga contour ng pragmatics.

Ang apela ng mga linguist sa pag-aaral ng paggana ng mga yunit ng linggwistika sa pagsasalita "ay nagbibigay-daan sa amin na pag-usapan ang tungkol sa pragmatics sa kahulugan ng mga katangian ng komunikasyon ng mga yunit na isinasaalang-alang ang mga ito ay tungkol sa "pragmatics ng salita", "pragmatics ng pangungusap ” (pahayag), atbp., ibig sabihin, una, ang mga tampok ng paggamit ng mga entidad sa wika sa ilang mga pragmatikong sitwasyon at kundisyon ng paggana at, pangalawa, ang pagpapatupad ng kahulugan sa konteksto sa ilalim ng impluwensya ng iba't ibang pragmatic na mga parameter. maaari nating pag-usapan ang tungkol sa "panlabas na pragmatics", at sa pangalawa - tungkol sa "panloob na pragmatics" (minsan ay tinatawag na pragmasemantics )" 1 (Gorshunov 1999: 5-6). Naniniwala kami na kung ano ang tahasang iminungkahi ni Yu.V. Ang paghahati ni Gorshunov ng pragmatics sa "panlabas" at "panloob", na implicitly na nakapaloob sa isang bilang ng mga gawa, ay may teoretikal na interes at muling kinukumpirma ang lahat ng mga dahilan upang pag-usapan ang tungkol sa pragmatic na kahulugan bilang bahagi ng linguistic na kahulugan.

Ang pag-unawa sa "internal pragmatics" bilang panlipunang kamalayan at naayos sa pamamagitan ng paggamit sa antas ng pragmatic information system ay nagbibigay-daan para sa tatlong interpretasyon: (1) semantic information ay itinuturing bilang bahagi ng communicative-pragmatic information; (2) parehong mga bahagi ay conceived bilang pantay, autonomous, ngunit pagtupad sa kanilang layunin sa malapit na koneksyon sa bawat isa, o (3) pragmatikong impormasyon ay itinuturing na naka-embed sa semantic impormasyon (cf. Leech 1983: 6).

Ang unang diskarte (Malcolm at iba pang mga pilosopo sa Oxford) ay batay sa mga ideya ng yumaong Wittgenstein, kapag "para sa isang malaking uri ng mga kaso - bagaman hindi lahat - kung saan gumagamit tayo ng mga salita, ang kahulugan ay maaaring tukuyin tulad ng sumusunod: ang kahulugan ng isang salita ang gamit nito sa wika" (sinipi ni Arutyunov 1976: 44). Ang teorya ng kahulugan sa diskarteng ito ay nawawala ang denotative na katangian nito at nagiging isang komunikasyon na teorya ng kahulugan, na nauugnay hindi lamang sa kahulugan ng pahayag, kundi pati na rin sa kahulugan ng mga salitang kasama dito. Para sa linggwistika, ang ganitong uri ng teorya, kung saan walang pangunahing pagkakaiba ang ginawa sa pagitan ng kahulugan ng isang salita, pangungusap at pahayag, ay hindi maaaring maging epektibo (tingnan ang Arutyunova 1976: 39-45 para sa higit pang mga detalye).

Sa loob ng balangkas ng ikalawang diskarte, may mga pagtatangka na isama ang konteksto-independiyenteng kahulugan ng mga yunit ng linggwistika sa ilalim ng hurisdiksyon ng semantika, at ang mga tungkulin sa pagsasalita ng mga pananalita sa wika at mga kahulugang sitwasyon sa ilalim ng hurisdiksyon ng pragmatics.

M.V. Tinukoy ni Nikitin ang pragmasemantics bilang pag-aaral sa bahaging iyon ng kabuuang kahulugan ng mga pahayag at teksto na nauugnay sa mga intensyon ng pagsasalita, i.e. sa mga pragmatikong gawain na nilulutas ng tagapagsalita sa pamamagitan ng pagsasalita (Nikitin 1996. 619). Ikasal. kahulugan ng wika ng interpretasyon na ginamit sa Moscow at Polish na mga paaralan ng semantika bilang isang "pragmasemantic na wika" sa Sannikov 1989. Tingnan din ang tungkol dito Pocheschov (Jr.) 1984; Stalnaker noong 1972.

Ang nakakondisyon na bahagi ng mga panukalang ipinahayag sa kanila. Tinukoy ng ilang mananaliksik ang mga hangganan ng pragmatics sa pamamagitan ng pag-aaral sa mga aspeto ng kahulugan na hindi saklaw ng semantic theory (Levinson 1983). Kasabay nito, ang pag-aalok ng ganitong uri ng pagtatangi ay kinikilala ang katotohanan na ang isang sapat na (semantiko o pragmatic) na teorya ay hindi pa nabubuo na magiging posible upang hindi malabo na sagutin ang tanong kung saan nagtatapos ang mga semantika at nagsisimula ang pragmatic (tingnan, halimbawa, Bulygia 1981; The Semantics /Pragmatics interface... 1999).

Sa kabilang banda, itinuturo ng maraming mananaliksik na ang pinakasapat na mga resulta ay maaaring makamit kung ang mga semantika at pragmatik ay itinuturing na magkakaugnay na mga bahagi ng isang kabuuan: "Walang semantika na walang pragmatik - ngunit wala ring pragmatik na walang semantika" (Kiefer 1985 : 347 ). Sinabi rin ni P. Sgall na ang lahat ng pagtatangka na pag-aralan ang semantika nang hindi isinasaalang-alang ang mga pragmatik ay tiyak na mabibigo (Sgall 1986: 45).

Malaking interes hinggil sa ugnayan sa pagitan ng pragmatics at semantics ang punto ng pananaw ni Yu.D. Apresyan. Sa malawak na pag-unawa sa pragmatika, naniniwala ang may-akda na ang pragmatikong impormasyon lamang na lexicalized o grammaticalized ay may interes sa wika, i.e. nakakuha ng permanenteng katayuan sa wika (Apresyan 1988; 1995a). Ang isang katulad na pananaw ay ipinahayag ng isa pang kinatawan ng Moscow school of semantics, V.Z. Sannikov, na nauunawaan ang kahulugan ng isang yunit ng lingguwistika bilang mga semantika at pragmatik nito, na binibigyang kahulugan ang huli bilang "impormasyon tungkol sa paggalang nagsasalita at nakikinig sa mga bagay na inilarawan at sa bawat isa" (Sannikov 1989: 84).

Karamihan sa karaniwan sa konsepto ng Yu.D. Ang Apresyan ay may pananaw ng pragmatismo V.I. Zabotkina (Zabotkina 1989; 1993). Ang pagkilala sa pagkakaroon ng isang komplikadong dialectical na koneksyon sa pagitan ng pragmatics at semantics, tinukoy ng mananaliksik ang pragmatics ng isang salita bilang bahagi ng kabuuang semantics, na nagdadala ng impormasyon tungkol sa katayuan sa lipunan ng mga nagsasalita, ang aktwal na mga kondisyon ng pagkonsumo at ang inaasahang epekto sa tagapakinig. Sa madaling salita, pinag-uusapan natin dito ang tungkol sa mga pragmatic na bahagi, na naayos dahil sa paggamit sa semantikong istruktura ng salita, sumasalamin sa mga parameter ng paggamit nito sa mga tipikal na sitwasyon ng komunikasyon at tinitiyak ang pragmatic markedness ng salita sa antas ng system.

Sa pinaka-radikal na paraan, nilulutas ni A. Vezhbitskaya at ng kanyang mga tagasunod (E.V. Paducheva at iba pa) ang problema ng hangganan sa pagitan ng semantika at pragmatics. Ang tanong na ito mismo, naniniwala si Vezhbitskaya, ay walang saysay, dahil sa ang katunayan na ang gayong hangganan ay hindi umiiral: ang pragmatics ay isang bahagi ng semantika na nag-aaral ng isang tiyak na hanay ng mga kahulugan ng wika. Sa konsepto ni Wierzbicka, ang awtonomiya ng pragmatika kaugnay ng semantika ay lumalabas na haka-haka, mayroong pinag-isang semantika ng pragmatik, o simpleng pragmatika - isa sa mga bahagi kung saan hinahati ng may-akda ang gawain ng paglalarawan ng mga semantika ng isang wika. "Ang mga kahulugan ng linguistic ay pragmatic sa prinsipyo: kung ano ang nauugnay sa isang tao, na may sitwasyon sa pagsasalita sa isang wika, ay hindi anumang espesyal na naka-highlight na nagpapahayag na mga elemento, ngunit sa pangkalahatan ay ang kahulugan ng napakaraming karamihan ng mga salita at mga yunit ng gramatika"(Paducheva 1996: 222). Ang mga hangganan ng pragmatics, tulad ng naiintindihan nila sa gawain ng Wierzbicka 1991, ay tiyak na tinukoy sa batayan ng likas na kahulugan, kapag ang kakayahan ng pragmatics ay kinabibilangan ng mga elementong linggwistika kung saan ang mga sangkap ng attitudinal ( subjective, expressive at iba pa) ay nangingibabaw sa mga denotative, iyon ay, mga elemento ng linggwistika ng anumang pormal na uri, na pinag-isa lamang ng katotohanan na ang mga ito ay pangunahing nagdadala ng "pragmatic na impormasyon" (Paducheva 1996: 223).

Nabatid na ang mga kahulugan ng mga yunit ng lingguwistika ay malapit na nauugnay sa mga pag-andar na kanilang ginagampanan, dahil ang pag-aaral ng mga tungkulin ng isang partikular na anyo ay sumasaklaw sa pagsusuri ng kahulugan nito: "Ang kahulugan ay direktang nasasakop sa tungkulin na ginagawa ng kaukulang yunit; ito ay nabuo depende sa layunin ng yunit na ito” (Arutyunova 1976: 44). Sa pagkilala sa semantiko at istruktural na mga tungkulin ng wika, ang ilang mga linggwista ay tumutukoy sa isang kumplikadong ugnayan sa pagitan ng mga tungkulin. semantiko at p basag-basag. Ang huli ay maaaring isaalang-alang bilang isang espesyal na aspeto ng mga pag-andar ng semantiko, ang kakanyahan nito ay upang ihatid ang kaugnayan ng nilalaman ng mga yunit ng lingguwistika at ang pagbigkas sa kabuuan sa mga kalahok sa speech act at mga kondisyon nito (Boidarko 1987: 8- 9). Iyon ay, medyo mahirap na gumuhit ng isang malinaw na linya sa pagitan ng semantika at pragmatics. Parehong (sa isang antas o iba pa) ay sumasalamin sa anthropocentrism na tumatagos sa modernong agham, malawak silang gumagamit ng extralinguistic na data, dapat isaalang-alang ang kadahilanan ng konteksto, atbp.

Sa aming pananaliksik sa disertasyon, nagpapatuloy kami mula sa isang malawak na pag-unawa sa pragmatics bilang isang espesyal na disiplina sa linggwistika, na ginagawang batayan ang malawak, multifaceted na kahulugan ng D. Crystal. Ang pragmatics ay ang agham "na nag-aaral ng wika mula sa punto de vista ng taong gumagamit nito, sa mga tuntunin ng pagpili ng mga yunit ng linggwistika, mga paghihigpit sa kanilang paggamit sa komunikasyong panlipunan, at ang epekto sa mga kalahok sa komunikasyon" (Crystal 1985: 240) .”

Sa pag-unawa sa pragmatic bilang bahagi ng linguistic na kahulugan, sinusunod natin ang pragmatic-semantic approach batay sa mga konsepto ng Yu.D. Apresyan, A. Vezhbitskaya, V.I. Zabotkina.

Walang alinlangan na ang pag-aaral ng "internal pragmatics" (pragmasemantics) ay isa sa mga gawain ng linguistic pragmatics at may kinalaman sa maliit na pinag-aralan at kontrobersyal na lugar nito (Gorshunov 2000). Ang pananaliksik, pagpapaunlad at paglilinaw ng mga naitatag na pragmatikong bahagi, pagtukoy sa mga tampok ng kanilang pakikipag-ugnayan at epekto sa tinutugunan sa iba't ibang mga materyal na leksikal ay may makabuluhang teoretikal at praktikal na interes at may mahalagang papel sa pag-aaral ng mga semantika at pragmatik ng mga yunit ng lingguwistika.

Ang paglitaw ng pragmatics ay malamang na hindi pa kumpleto. Marami pa ring kontrobersyal na isyu ang natitira. Ito ay mga tanong tungkol sa relasyon sa pagitan ng pragmatics at

Ikasal. na may mas huling kahulugan ng parehong may-akda: "Pinag-aaralan ng Pragmatics ang mga salik na tumutukoy sa ating pagpili ng mga paraan ng lingguwistika sa pakikipag-ugnayan sa lipunan at ang epekto ng pagpiling ito sa iba" (Crystal 1997: 120) sociolinguistics, psycholinguistics, stylistics, retorika, kung saan ang pragmatics ay may malawak na mga lugar ng intersection ng mga interes sa pananaliksik. Ito ay isang hanay ng mga isyu na may kaugnayan sa kung paano isinasama ng isang tao ang kanyang sarili sa isang linguistic sign, sa isang pagbigkas, nabubuhay at kumikilos bilang isang linguistic personality, gamit ang wika upang makamit ang kanyang mga layunin, ihatid ang kanyang saloobin sa katotohanan, ang nilalaman ng mensahe, sa mga kasosyo sa komunikasyon, at impluwensyahan sila.

Malalim at tumpak sa usaping ito ay tila ang thesis ni J. Versuren na ang dimensyon na ang pragmatics ay tinatawag na unawain at ihayag ay ang puwang na nilikha ng koneksyon sa pagitan ng wika at buhay ng tao sa pangkalahatan (Verschueren 1999: 6).

» Sina Andrew Hunt at David Thomas ay malamang na kilala ng lahat na kasangkot sa programming, marami sa kanila ay higit sa lahat mula sa mga pagbanggit sa mga koleksyon at mga panipi sa mas modernong mga artikulo. Isinasaalang-alang na ang koleksyon na ito praktikal na payo para sa mga developer ay malapit nang ipagdiwang ang ikadalawampung anibersaryo nito, ang katotohanan na ito ay binanggit pa rin bilang isang mapagkukunan ng mahalagang impormasyon ay kagalang-galang. Ang sikreto ay simple: ang mga may-akda, bagama't binigyang-diin nila ang praktikal na kakayahang magamit ng kanilang mga tip, kadalasang pinag-uusapan ang mga pangunahing prinsipyo ng pagbuo ng isang daloy ng trabaho. Marami sa mga teknikal na punto na binanggit sa teksto ay talagang luma na, ngunit ang mga pangunahing diskarte sa pag-unlad, pagsubok, pakikipag-ugnayan sa loob ng koponan at sa madla ay nananatiling may kaugnayan.

Sa ibaba ay makikita mo ang buod ng unang apat na kabanata; pinag-uusapan nila ang konsepto ng pag-aaral sa sarili ng may-akda, ang mga pangunahing kaalaman ng isang pragmatikong diskarte sa programming at ang mga patakaran para sa pagpili ng mga tool. Ang libro ay napaka-maginhawa para sa "point-by-point" na pagbabasa: ang materyal ay ipinakita sa anyo ng magkahiwalay na mga talata-tip, na ibinigay ng mga cross-reference. Higit pa sa saklaw ng buod na ito ay may mga halimbawa mula sa mga partikular na wika, pagsusuri ng mga kaso mula sa kasanayan ng may-akda, mismong mga link na iyon, pagsasanay para sa pagsasama-sama at ilang nakakatawang pagkakatulad na nagbibigay-buhay sa teksto - kaya inirerekomenda kong basahin mo ang orihinal kung alinman sa mga tesis interesado ka. Enjoy reading!

Tip 1: Alagaan ang Iyong Craft

Walang kwenta sa pagbuo ng software kung wala kang pakialam sa kalidad ng trabaho. Ito ay kailangang gawin hindi lamang sa maikling panahon, na may kaugnayan sa mga partikular na proyekto, kundi pati na rin sa pangmatagalan - sa pamamagitan ng pagbuo ng tamang diskarte at mga prinsipyo ng trabaho.

Ano ang ginagawa ng isang pragmatic programmer?

  • Anticipatory perception at mabilis na pagbagay. Ang mga pragmatista ay may likas na ugali para sa mga kapaki-pakinabang na teknolohiya at pamamaraan na masaya nilang subukan sa pagsasanay. Mabilis silang nakakapit bagong impormasyon at pagsamahin ito sa umiiral na kaalaman.
  • Pagkausyoso. Ang mga pragmatist ay nagtatanong, nangongolekta ng maliliit na katotohanan, at interesado sa mga karanasan ng ibang tao.
  • Kritikal na pagmuni-muni. Ang mga pragmatista ay hindi pinababayaan ang anumang bagay nang hindi muna pamilyar sa mga katotohanan.
  • Realismo. Sinisikap ng mga pragmatist na hanapin kung saan ang mga pitfalls sa bawat problema na kanilang nararanasan.
  • Kagalingan sa maraming bagay. Nagsusumikap ang mga pragmatist na maging pamilyar sa higit pang mga teknolohiya at operating system at nagtatrabaho upang makasabay sa mga panahon.
Tip 2: Mag-isip tungkol sa trabaho

Habang nagsusulat ng code, dapat kang ganap na tumutok sa iyong ginagawa. Huwag kailanman pumunta sa autopilot mode. Patuloy na mag-isip, kritikal na sumasalamin sa iyong trabaho sa real time. Ito ay tinatawag na conscious programming. Ang pag-master nito ay mangangailangan ng ilang oras at pagsisikap, ngunit ang gantimpala ay ang ugali ng patuloy na paggawa ng maliliit na pagpapabuti, pagpapabuti ng kalidad ng pangkalahatang code at pagbabawas ng oras ng pag-unlad.

Kabanata 1: Pragmatic Philosophy

Ang pragmatic programming ay nagmula sa pilosopiya ng pragmatic na pag-iisip. Binabalangkas ng kabanatang ito ang mga pangunahing probisyon nito.

Tip 3: Ipakita ang mga solusyon sa mga problema, hindi mga dahilan.

Ang isa sa mga pundasyon ng pragmatikong pilosopiya ay ang ideya ng pagkuha ng responsibilidad para sa iyong sarili at sa iyong mga aksyon. Ipinapalagay ng isang pragmatic programmer na ang kanyang karera at mga resulta sa trabaho ay pangunahing nakasalalay sa kanya, at hindi natatakot na aminin ang kamangmangan o pagkakamali.

Ang pagtanggap ng responsibilidad para sa mga resulta ay nangangailangan ng pagpayag na maging responsable. Kung nagkamali ka (at nagkakamali tayong lahat), aminin ito nang tapat at subukang mag-alok ng mga mungkahi para sa pagpapabuti. Hindi mo dapat sisihin ang mga kasamahan, kasosyo, kasangkapan o gumawa ng mga dahilan - ito ay isang hindi produktibong pag-aaksaya ng oras. Ang parehong naaangkop sa mga sitwasyon kapag nahaharap ka sa mga kahilingan na hindi mo matugunan: huwag basta sabihin: "Imposible ito," ngunit ipaliwanag kung ano ang kailangan upang mailigtas ang sitwasyon (karagdagang mga mapagkukunan, muling pag-aayos, atbp.).


Tip 4: Huwag mag-iwan ng mga sirang bintana

Ang entropy ay isang termino sa pisika na tumutukoy sa antas ng "karamdaman" sa isang sistema. Ang entropy sa uniberso ay may posibilidad sa isang maximum, at ang parehong pattern ay sinusunod sa pag-unlad. Ang pagtaas ng antas ng kaguluhan sa mga programa ay tinatawag na program corruption sa propesyonal na jargon. Mayroong maraming mga kadahilanan na nag-aambag sa pagkasira ng mga programa, ngunit ang pinakamahalaga sa kanila ay ang kultura ng paggawa sa proyekto.

Ayon sa teorya ng sirang bintana, ang mga palpak na desisyon at mga lugar ng problema ay malamang na dumami. Huwag iwanan ang "sirang mga bintana" (masamang disenyo, mga bug, mababang kalidad na code) nang walang nag-aalaga. Kung wala kang oras para magsagawa ng wastong pag-aayos, magkomento man lang sa maling fragment o magpakita ng mensaheng "Under Construction", o gumamit ng dummy data. Kinakailangang gumawa ng kahit kaunting aksyon para maiwasan ang karagdagang pagkawasak at ipakita na ikaw ang may kontrol sa sitwasyon. Ang kawalang-ingat ay nagpapabilis ng pagkasira nang mas mabilis kaysa sa anumang iba pang kadahilanan.

Tip 5: Maging Catalyst para sa Pagbabago

Kung nakita mo kung ano ang kailangang gawin, huwag maghintay para sa inisyatiba mula sa iba. Gumawa ng plano, ayusin ang mga detalye - mas handang suportahan ka ng mga tao kung nakita nilang nagsimula na ang gawain.

Tip 6: Panoorin ang Mga Pagbabago

Panatilihin ang iyong mga mata sa malaking larawan ng kung ano ang nangyayari. Patuloy na obserbahan kung ano ang nangyayari sa paligid mo, at hindi lamang kung ano ang iyong personal na ginagawa. Karamihan sa mga sakuna sa code ay nagsisimula sa maliliit na bagay na naipon hanggang sa isang araw ay magulo ang proyekto. Hakbang-hakbang, ang sistema ay lumihis mula sa mga kinakailangan, ang code ay tinutubuan ng "mga patch" hanggang sa walang nananatili sa orihinal. Kadalasan ito ay ang naipon na maliliit na bagay na humahantong sa pagkasira ng moral at mga koponan. Ngunit kung mahuli mo ang prosesong ito sa mga unang yugto at agad na kumilos (tingnan ang nakaraang talata), maaari kang makatakas nang may kaunting kawalan.

Tip 7: Gawing kinakailangan ang kalidad

Ang kalidad ay dapat na isang negotiable na sugnay sa kontratang papasukin mo sa mga user. Siyempre, sa isip ay dapat itong maging kasing taas hangga't maaari, ngunit kadalasan ay makikita mo ang iyong sarili sa mga sitwasyon kung saan kailangan mong magkompromiso dahil sa masikip na mga deadline o kakulangan ng mga mapagkukunan. At dito kapaki-pakinabang na sanayin ang iyong sarili sa paglikha ng mga katanggap-tanggap na programa. Ang "katanggap-tanggap" ay hindi nangangahulugang "badass": binibigyan mo lang ng pagkakataon ang mga user sa pagtukoy kung anong threshold ng kalidad ang katanggap-tanggap. Nakakagulat, mas gugustuhin ng marami na gumamit ng mga program na may ilang mga bahid ngayon, kaysa maghintay ng isang taon para sa pagpapalabas ng isang bersyon ng multimedia.

Bilang karagdagan, ang mga programa kung minsan ay nagpapabuti sa pamamagitan ng pagbabawas ng panahon ng pagpapapisa ng itlog. Sa pag-unlad, mayroong isang problema ng "over-polishing" - ang mga panlabas na paghihigpit ay tumutulong na huminto sa oras sa pagtugis ng pagiging perpekto.

Tip 8: Regular na mamuhunan sa iyong portfolio ng kaalaman

Ang portfolio ng kaalaman ay tumutukoy sa lahat ng nalalaman ng isang programmer tungkol sa pag-unlad sa kanyang larangan, pati na rin ang karanasan na kanyang naipon. Ang pamamahala ng portfolio ng kaalaman ay halos kapareho sa pamamahala ng portfolio ng pananalapi:

Ang mga pangkalahatang prinsipyo ay:

  1. Mag-invest nang regular. Kahit na maliit ang puhunan, ang ugali na ito ay kapaki-pakinabang sa sarili nito.
  2. Mamuhunan sa iba't ibang lugar . Ang mas maraming mga lugar na nakukuha mo, ang malaking halaga isipin mo. Sa pinakamababa, dapat mong malaman ang mga partikular na teknolohiya na kasalukuyang ginagamit mo, sa loob at labas. Ngunit huwag tumigil doon. Ang pangangailangan para sa teknolohiya at ang kakayahang magamit nito ay patuloy na nagbabago. Kung mas maraming tool ang mayroon ka sa iyong arsenal, mas madali para sa iyo na mag-adapt.
  3. Timbangin ang mga panganib. Ang mga teknolohiya ay umiiral sa isang tiyak na hanay - mula sa peligroso at potensyal na mataas na kita hanggang sa mababang panganib at mababang kita. Ang pamumuhunan sa lahat ng bagay sa mga mapanganib na opsyon, ang rate na maaaring biglang bumagsak, ay hindi pinakamahusay na ideya, ngunit din ng labis na pag-iingat, na hindi nagpapahintulot sa iyo na samantalahin ang mga kumikitang pagkakataon. Mas mainam na manatili sa gitnang linya.
  4. Bumili ng mababa, magbenta ng mataas. Ang pag-master ng makabagong teknolohiya bago ito maging sikat ay isang hamon, ngunit sulit ito: ang mga maagang nag-aampon ay kadalasang nagpapatuloy sa mga kamangha-manghang karera.
  5. Regular na suriin at muling balansehin. Ang programming ay isang napaka-dynamic na industriya. Maging handa na pana-panahong kritikal na suriin ang iyong mga asset: iwanan ang mga lumang opsyon, ibalik ang mga tumaas sa presyo, at punan ang mga walang laman na niches.
Ang proseso ng pag-aaral ay magpapalawak ng iyong pag-iisip, magbubukas ng mga bagong posibilidad at mga bagong paraan ng pagkamalikhain. Kung may natutunan kang bago, subukang ilapat ang kaalamang iyon sa proyektong kasalukuyan mong ginagawa, hangga't pinapayagan ng iyong teknolohiya.

Tip 9: Kritikal na suriin ang iyong nabasa at naririnig.

Kailangan mong tiyakin na ang kaalaman sa iyong portfolio ay tumpak, na hindi ito binabaluktot ng mga nakikinabang dito, at ang halaga nito ay hindi pinalaki ng hype. Mag-ingat sa mga panatiko na iginigiit na ang kanilang dogma ay nagbibigay ng tanging tamang sagot - maaaring hindi ito naaangkop sa iyong proyekto.

Tip 10: Mahalaga kung ano ang sasabihin at kung paano ito sasabihin

Karamihan sa araw ng isang programmer ay ginugugol sa pakikipag-usap - kasama ang koponan, pamamahala, mga user, mga susunod na henerasyon ng mga developer sa pamamagitan ng dokumentasyon at mga komento sa code. Samakatuwid, ito ay kinakailangan upang makabisado ang sining nito. Kung mas epektibo ang komunikasyong ito, mas malaki ang iyong kakayahang gawing aksyon ang mga ideya.

Mga prinsipyo ng epektibong komunikasyon:

  1. Alamin kung ano ang gusto mong sabihin: Planuhin kung ano ang iyong sasabihin nang maaga, gumuhit ng isang balangkas at ilang mga diskarte para sa kung paano pinakamahusay na maihatid ang iyong punto. Gumagana ito para sa parehong pagbalangkas ng mga dokumento at mahahalagang negosasyon.
  2. Kilalanin ang iyong madla: Nakikipag-usap ka lamang kung naghahatid ka ng impormasyon. Upang magawa ito, kailangan mong magkaroon ng kamalayan sa mga pangangailangan, interes, at kakayahan ng iyong madla. Maglahad ng impormasyon sa paraang malinaw at kawili-wili sa nakikinig.
  3. Piliin ang tamang sandali: Mahalagang punto upang maunawaan ang madla - pag-unawa sa mga agarang priyoridad nito. Ang iyong sasabihin ay hindi lamang dapat na may kaugnayan sa nilalaman, ngunit napapanahon din. Kung kinakailangan, direktang magtanong: “Maginhawa bang pag-usapan ang... ngayon?”
  4. Piliin ang estilo na gusto mo: Tukuyin ang istilo ng pagtatanghal ng materyal alinsunod sa mga kinakailangan ng madla: ang ilan ay mas gusto ang mga hubad na katotohanan, ang iba ay mas gusto ang mga detalye, mga halimbawa at mahabang pagpapakilala. Muli, kung may pagdududa, suriin.
  5. Binati ng damit: Alamin kung paano wastong "paglingkuran" ang iyong mga ideya. Dapat suriin ang lahat ng nasa huling dokumento: spelling, layout, estilo ng teksto, pag-print.
  6. Himukin ang iyong madla: Hangga't maaari, isali ang mga susunod na mambabasa sa proseso ng paggawa ng dokumento. Gamitin ang kanilang mga ideya. Sa ganitong paraan makakakuha ka ng mas mahusay na mga resulta at palakasin ang iyong mga relasyon sa pagtatrabaho.
  7. Marunong makinig: Makisali sa pakikipag-usap sa mga tao sa pamamagitan ng pagtatanong o pagkuha sa kanila na ibuod ang iyong sinabi. Gawing isang dialogue ang pulong, at mas maiparating mo kung ano ang gusto mong sabihin, at marahil ay may matututunan ka para sa iyong sarili sa parehong oras.
  8. Huwag putulin ang pag-uusap: Palaging tumugon sa mga kahilingan at mensahe nang may pangakong babalikan ang usapin sa ibang pagkakataon. Kung pananatilihin mong nakakaalam ang mga tao, pakiramdam nila ay hindi sila nakalimutan at mas mapagpatawad sa mga paminsan-minsang pagkakamali.

Kabanata 2: Pragmatic Approach

Mayroong ilang mga tip at trick na naaangkop sa lahat ng antas ng pagbuo ng software - mga ideya na maaaring ituring na mga axiom, mga proseso na halos pangkalahatan. Ang kabanatang ito ay nagbibigay ng pangkalahatang ideya ng mga ideya at prosesong ito.

Tip 11: Huwag ulitin ang iyong sarili

Ang bawat piraso ng kaalaman ay dapat magkaroon ng isang solong, hindi malabo, maaasahang representasyon sa system. Ang isang alternatibo ay ang ipakita ang parehong item sa maraming lugar. Ito ay hindi maginhawa: kung may na-edit sa isang lugar, kailangan mong agad na gumawa ng mga pagbabago sa lahat ng iba pa, kung hindi man ay babagsak ang programa sa ilalim ng bigat ng mga kontradiksyon. Sooner or later may makakalimutan ka, it's a matter of time.

Karamihan sa mga kaso ng pagdoble ay nabibilang sa isa sa mga sumusunod na kategorya:

  • Sapilitang pagkopya. Nararamdaman ng mga developer na wala silang pagpipilian - kinakailangan ang pagdoble sa ilang kadahilanan panlabas na mga kadahilanan: mga pamantayan sa dokumentasyon, ang kumbinasyon ng ilang mga platform na may iba't ibang mga kapaligiran, mga wika at mga aklatan, ang mga detalye ng wika mismo. Sa ilang mga kaso, kailangan mo lang itong tanggapin, ngunit sa iba ay makakahanap ka pa rin ng mga workaround gamit ang mga filter, mga aktibong code generator, metadata at ang tamang diskarte sa pagkomento.
  • Hindi sinasadyang pagkopya. Ang mga developer ay hindi napagtanto na sila ay duplicate ng impormasyon. Karaniwan itong nangyayari bilang resulta ng mga error o hindi pagkakapare-pareho sa isang malalim na antas (halimbawa, ang parehong katangian ay nakarehistro sa ilang mga bagay), at ang pag-aalis ay nangangailangan ng muling pagsasaayos. Sa ilang mga ganoong kaso, ang prinsipyo ay maaaring labagin para sa kapakanan ng pagganap, ngunit sa loob lamang ng klase.
  • Nakakainip na pagkopya. Nag-duplicate ang mga developer dahil sa tingin nila ay mas madali ito. Karaniwan itong nangyayari sa pamamagitan ng pagkopya ng mga piraso ng code. Ang lahat ay nakasalalay sa disiplina sa sarili - huwag maging masyadong tamad na gumugol ng ilang dagdag na segundo upang maiwasan ang pananakit ng ulo sa hinaharap.
  • Kolektibong pagdoble. Ang isang piraso ng impormasyon ay nadoble ng ilang miyembro ng parehong development team sa panahon ng trabaho. Ang pinakamahirap na kaso sa mga tuntunin ng parehong pagtuklas at paglutas. Sa isang mataas na antas, ang problema ay nalutas sa pamamagitan ng isang malinaw na solusyon sa disenyo, isang malakas na teknikal na lead at isang malinaw na paghihiwalay ng mga responsibilidad. Sa isang modular na batayan - sa pamamagitan ng aktibong komunikasyon sa pagitan ng mga developer: lumikha ng mga grupo para sa komunikasyon, lumikha ng isang pampublikong lugar sa direktoryo para sa pag-iimbak ng mga gawain at script ng serbisyo, hikayatin ang pag-aaral at pagtalakay ng code ng ibang tao.
Tip 12: Gawing madaling gamitin muli ang program

Subukang lumikha ng isang kapaligiran kung saan mas madaling hanapin at muling gamitin ang umiiral na materyal kaysa likhain ito nang mag-isa mula sa simula. Nakakatulong ito na mabawasan ang panganib ng pagdoble. Tandaan lamang na kung mahirap gamitin muli, hindi ito gagawin ng mga tao.

Tip 13: Iwasan ang mga pakikipag-ugnayan sa pagitan ng mga hindi nauugnay na bagay

Ang panuntunang ito ay tinatawag ding prinsipyo ng orthogonality. Ang dalawa o higit pang mga bagay ay orthogonal kung ang mga pagbabagong ginawa sa isa sa mga ito ay walang epekto sa iba. Ang kaayusan na ito ay nagbibigay ng dalawang malaking benepisyo: tumaas na produktibo at nabawasan ang panganib.

Kapag na-localize ang mga pagbabago sa system, binabawasan ang mga oras ng pag-develop at pagsubok. Sa sandaling ang isang maliit, self-contained na bahagi ay idinisenyo, ipinatupad, at nasubok, maaari mo lamang itong kalimutan, sa halip na patuloy na gumawa ng mga pagbabago habang ang mga bagong piraso ng code ay idinagdag sa code.

Hinihikayat din ng orthogonal na diskarte ang muling paggamit ng bahagi. Ang mas kaunting coupling doon sa mga system, mas madali itong i-reconfigure o i-reverse engineer.

Ang pagbabawas ng panganib ay dahil sa ang katunayan na ang mga maling fragment ay nakahiwalay at hindi nakakaapekto sa buong sistema; Alinsunod dito, ang pag-aayos o pagpapalit ng mga ito ay mas madali din. Bilang resulta, ang sistema ay nagiging mas matatag - ang mga lugar ng problema ay nananatiling mga lugar. Nakakatulong din na ang pagsubok sa antas ng yunit ay karaniwang ginagawa nang mas lubusan.

Ang prinsipyo ng orthogonality ay hindi dapat sundin sa antas ng mga indibidwal na teknolohiya, ngunit dapat sumaklaw sa lahat ng proseso: mula sa disenyo hanggang sa pagpili ng mga tool, mula sa pagsubok hanggang sa pamamahala ng produkto. Pinaliit nito ang pagdoble at ginagawang mas flexible at transparent ang system.


Tip 14: Walang panghuling solusyon

Ang mga kinakailangan, mga user at hardware ay nagbabago nang mas mabilis kaysa sa aming binuo software. Samakatuwid, dapat kang laging maging handa para sa katotohanan na ang anumang desisyon na iyong gagawin (hindi lamang sa loob ng code, kundi pati na rin, halimbawa, kapag pumipili ng tool ng third-party, isang pattern ng arkitektura, isang modelo ng pag-deploy) ay kailangang muling isaalang-alang sa hinaharap sa ilalim ng impluwensya ng panlabas na mga kadahilanan. Ang prinsipyo ng "minimum na pagdoble", ang prinsipyo ng decoupling at ang paggamit ng metadata ay ginagawang mas mababaligtad ang system.

Tip 15: Gumamit ng tracer bullet para mahanap ang iyong target

Upang palawakin ang metapora: kapag lumilikha ng isang bagong produkto, ang pangkat ng pag-unlad ay madalas na kumikilos nang walang taros, nagtatrabaho sa hindi pamilyar na mga diskarte, wika at mga aklatan. Ang resulta ay maaaring hulaan alinman sa pamamagitan ng matapang na pagtataya, batay sa isang napakadetalyadong pagsusuri ng mga teknolohiya, o sa pamamagitan ng "pagsubaybay" - paglikha ng isang serye ng pinasimple, pagsubok, unti-unting pagpapabuti ng mga gumaganang bersyon upang pagsama-samahin ang mga bahagi ng system at subukan kung paano sila magtrabaho nang sama sama.

Ang isang alternatibo sa diskarteng ito - nakahiwalay na pag-unlad ng mga indibidwal na module, na sa huling yugto ay pinagsama-sama at pagkatapos ay nasubok sa antas ng system - ay mas mahirap at hindi gaanong maginhawa. Sa iba pang mga bagay, ang paraan ng pagsubaybay ay nagbibigay sa iyo ng draft na bersyon ng produkto (na maaaring iharap sa mga user upang ipakita sa kanila ang kakanyahan ng proyekto, interes sa kanila at makakuha ng feedback); mas maayos at mas nakatutok na pagsasama ng mga handa na bagong module sa kapaligiran at ang kakayahang agad na makilala at madaling itama ang mga error sa pakikipag-ugnayan.

Tip 16: Gumawa ng mga prototype upang matuto mula sa kanila

Hindi tulad ng mga pagsubok na bersyon na inilarawan sa itaas, ang mga prototype ay may mas makitid na pokus: ang mga ito ay nilikha upang subukan ang ilang partikular na katangian at nangangailangan ng mas kaunting mapagkukunan. Ang lahat ng mga detalye na hindi nauugnay sa problema sa kamay ay tinanggal, kahit na ang mga ito ay lubhang mahalaga para sa pagpapatakbo ng system sa kabuuan. Kapag gumagawa sa isang prototype, ang kawastuhan, pagkakumpleto, pagiging maaasahan, at istilo ay maaaring mapabayaan.

Para sa prototyping, hindi kinakailangan na lumikha ng isang ganap gumaganang aplikasyon, minsan sapat na ang mga diagram sa papel o board. Kung kinakailangan pa rin, makatuwirang pumili ng isang wika mataas na lebel– sa itaas ng antas ng wika na ginagamit ng natitirang bahagi ng proyekto (isang wika tulad ng Perl, Python o Tel). Nagbibigay-daan sa iyo ang isang mataas na antas ng scripting language na alisin ang maraming detalye (kabilang ang pagtukoy ng mga uri ng data) at makagawa pa rin ng isang functional, kahit na hindi kumpleto at mabagal, piraso ng programa.

Tip 17: Sumulat ng code na nasa isip ang application

Ang mga programming language ay nakakaimpluwensya sa paraan ng pag-iisip mo tungkol sa isang problema at sa karanasan ng user. Ang bawat wika ay may sariling katangian na humahantong sa ilang mga desisyon o, sa kabaligtaran, pinipigilan ang mga ito. Ang isang Lisp-style na solusyon ay iba sa isang C-style na solusyon, at vice versa. Ang kabaligtaran ay totoo rin - isang wika na nagpapakita ng mga detalye ng problema na iyong pinagtatrabahuhan ay maaaring, sa bahagi nito, ay nag-aalok ng solusyon sa larangan ng programming.

Sa pamamagitan ng pakikinig sa mga kinakailangan ng user, mauunawaan mo kung aling wika ang pinakamadaling isalin ang mga ito sa mas mataas at abstract na antas. Ang iba't ibang uri ng mga user (panghuling - ang madla kung kanino mo ginagawa ang proyekto, at pangalawa - ang mga tagapamahala, mga susunod na henerasyon ng mga developer) ay maaaring mangailangan ng pagbuo ng kanilang sariling mga mini-environment at wika.

Tip 18: Tantyahin Para Iwasan ang Mga Sorpresa

Ang paggawa ng mga magaspang na pagtatantya ay isang kasanayan, at isang mahalagang bahagi ng kasanayang iyon ay ang kakayahang matukoy ang katanggap-tanggap na katumpakan batay sa konteksto. Ang yunit ng pagsukat na pipiliin mo ay dapat ding sumasalamin sa antas ng katumpakan (ihambing: ang isang gawain ay tatagal ng dalawang linggo at ang isang gawain ay aabot ng 75 oras ng trabaho).

Ang pagtatasa ay isinasagawa sa maraming yugto. Una, sinusuri natin ang kakanyahan ng itinanong at tinatasa ang saklaw ng paksa; Bukod dito, kadalasan ang mismong mga salita ng tanong ay nagmumungkahi ng sagot. Pagkatapos ay binuo ang isang modelo ng problema - isang tinatayang pagkakasunud-sunod ng mga yugto na kailangang pagdaanan sa paglutas nito. Ang modelo ay nabubulok sa mga bahagi, para sa bawat isa kung saan ang isang parameter ng kahalagahan ay tinukoy. Batay sa mga parameter na ito at tinatayang halaga, ang mga kalkulasyon ay ginawa. Ang huling hakbang ay isinasagawa pagkatapos ng katotohanan - ang pagtataya ay inihambing sa aktwal na estado ng mga gawain, at sa kaso ng mga malubhang paglihis, ang trabaho ay isinasagawa upang iwasto ang mga pagkakamali.

Tip 19: Suriin ang iskedyul ng proyekto kung kailangan ito ng code

Maaaring hindi ito masiyahan sa pamamahala, na kadalasang gustong sabihin ang mga numero bago magsimula ang proyekto at hindi maaaring magbago. Kailangan mong ihatid sa kanila na ang iskedyul para sa pagkumpleto ng mga gawain ay matutukoy ng pagiging produktibo ng koponan at ang mga pangyayari. Sa pamamagitan ng pagpormal sa pamamaraang ito at pagpino sa iskedyul sa bawat pag-ulit, maaari mong ibigay sa pamamahala ang pinakatumpak na pagtatantya ng timeline para sa bawat yugto.

Kabanata 3: Travel Tool Kit

Ang mga tool ay isang paraan ng pagpapahusay ng iyong talento. Kung mas magaling sila at mas mahusay mong mabisa ang mga ito, mas marami kang magagawa. Magsimula sa isang unibersal, "go" na hanay ng mga tool na gagamitin mo para sa lahat ng pangunahing operasyon. Lalago ang set na ito habang nakakakuha ka ng karanasan at nakakatugon sa mga partikular na kinakailangan.

Tip 20: I-save ang impormasyon sa plain text na format

Ang pinakamahusay na format para sa permanenteng pag-iimbak ng kaalaman ay simpleng teksto, na nagbibigay-daan sa iyong iproseso ang impormasyon nang manu-mano at gamit ang anumang magagamit na mga tool. Ang problema sa karamihan ng mga binary na format ay ang kontekstong kailangan upang maunawaan ang data ay hiwalay sa data mismo. At gamit ang plain text na mababasa nang walang decryption, maaari kang lumikha ng self-documenting data stream, na independiyente sa program na bumuo nito.

May dalawang pangunahing disadvantage ang plain text: (1) maaari itong tumagal ng mas maraming storage space kaysa sa isang naka-compress na binary na format, at (2) mula sa isang computational na pananaw, ang pagbibigay-kahulugan at pagproseso ng isang plain text file ay maaaring mas mabagal. Depende sa aplikasyon, maaaring hindi katanggap-tanggap ang isa o pareho sa mga sitwasyon sa itaas. Ngunit kahit na sa mga kasong ito, katanggap-tanggap na i-save ang metadata na maglalarawan sa source data sa plain text na format.

Ang simpleng teksto ay:

  • Siguraduhing hindi luma na ang data
  • Mas maikling landas patungo sa layunin
  • Mas madaling pagsubok
Tip 21: Maglaro sa lakas ng mga shell

Kung nagtatrabaho ka lamang sa isang graphical na interface, hindi mo ginagamit ang lahat ng mga kakayahan na ibinigay ng operating system - hindi ka nag-automate tipikal na gawain, huwag gamitin ang mga magagamit na tool sa buong lakas, huwag pagsamahin iba't ibang solusyon para sa paglikha ng mga espesyal na tool sa macro. Ang bentahe ng mga GUI ay gumagana ang mga ito sa prinsipyong "kung ano ang nakikita mo ay kung ano ang makukuha mo". Pangunahing kawalan Ang graphical na interface ay maaaring buuin tulad ng sumusunod: "nakukuha mo lang ang nakikita mo." Ang saklaw ng naturang mga tool ay karaniwang limitado sa mga gawain kung saan sila ay orihinal na dinisenyo. Kung gusto mong lampasan ang pattern na ito (at sa malao't madali kailangan mong gawin ito), wala ka sa parehong landas sa kanila.

Maglagay ng kaunting pagsisikap sa pagiging pamilyar sa shell, at magugulat ka kung gaano ka magiging produktibo. Ang mga utos ng linya ay maaaring nakakalito, ngunit ang mga ito ay makapangyarihan at maigsi. Sa pamamagitan ng pag-compile ng mga ito sa mga script file, maaari kang lumikha ng mga pagkakasunud-sunod ng mga utos upang i-automate ang mga madalas na isinasagawang pamamaraan.

Tip 22: Gumamit ng isang text editor, ngunit hangga't maaari

Ang pagpoproseso ng teksto ay dapat tumagal ng isang minimum na pagsisikap, kaya mas mahusay na makabisado nang perpekto ang isang solong editor at gamitin ito upang malutas ang lahat ng mga gawain na may kaugnayan sa pag-edit: pagtatrabaho sa teksto ng programa, dokumentasyon, memo, pangangasiwa ng system, atbp. Mahirap maging isang eksperto kaagad sa ilang mga kapaligiran ng software, dalhin ang gawain sa bawat isa sa isang reflex, na isinasaalang-alang na ang bawat isa sa kanila ay may sariling hanay ng mga utos at pamantayan. Kung susubukan mong pagsamahin ang ilang mga editor, mapanganib mong maulit ang sitwasyon ng Babel pandemonium.

Ang pinili ng editor ay halos isang relihiyon, kaya imposibleng magbigay ng mga tiyak na rekomendasyon dito. Gayunpaman, kapag gumagawa ng isang desisyon, ito ay nagkakahalaga ng pagsasaalang-alang sa mga sumusunod na parameter:

  • Pagpapasadya. Ang lahat ng mga katangian ng editor ay dapat na nako-customize ayon sa gusto mo, kabilang ang mga font, kulay, laki ng window, at hotkey.
  • Extensibility. Ang editor ay hindi dapat maging luma sa sandaling lumitaw ang isang bagong programming language. Dapat itong maisama sa anumang kapaligiran ng compiler na kasalukuyang ginagamit mo. Dapat kang magkaroon ng opsyon na "ituro" dito ang mga nuances ng anumang bagong programming language o text format.
  • Programmability. Dapat mong i-program ang editor upang magsagawa ng mga kumplikadong multi-step na operasyon.
Tip 23: Palaging gumamit ng source code control

Sinusubaybayan ng mga source control system ang anumang pagbabagong ginawa sa text at dokumentasyon. Ang mga pinakamahusay ay maaari ring subaybayan ang mga pagbabago sa mga bersyon ng compiler at operating system. Sa wastong na-configure na source control system, maaari kang bumalik sa isang nakaraang bersyon ng isang program anumang oras.

Ang kontrol sa pinagmulan ay higit pa sa pag-undo ng mga maling aksyon. Ang isang mahusay na sistema ay nagbibigay-daan sa iyo na subaybayan ang mga pagbabago at nagbibigay ng mga sagot sa mga karaniwang tanong: "Sino ang gumawa ng mga pagbabago sa linyang ito ng teksto? Ano ang pagkakaiba sa pagitan ng kasalukuyang bersyon at ng bersyon na umiral noong nakaraang linggo? Ilang linya ng teksto ng programa ang binago sa bersyong ito? Aling mga file ang madalas na nagbabago? Napakahalaga ng naturang impormasyon sa pagsubaybay sa bug, pag-audit, pagganap at pagtatasa ng kalidad.


Paano ang pag-debug?

Tip 24: Tumutok sa pag-aayos ng problema, hindi sinisisi ito.

Lumipat kami sa paksa ng pag-aalis ng mga bug - isang napaka-sensitibo at lubos na nauugnay para sa pagtutulungan ng magkakasama. Dito, higit sa kahit saan, ang tamang saloobin ay mahalaga. Yakapin ang katotohanan na ang pag-debug ay isang gawain tulad ng iba, at lapitan ito mula sa pananaw na iyon. Sa katunayan, hindi mahalaga kung sino ang dapat sisihin sa pagkakamali - ikaw o ibang tao. Ito pa rin ang problema mo.

Tip 25: Huwag mag-panic

Napakahalaga na umatras, sugpuin ang unang emosyonal na reaksyon, at isipin kung ano talaga ang ugat ng mga sintomas at kung paano haharapin ito. Labanan ang tukso na alisin lamang ang mga sintomas at sa gayon ay malutas ang problema sa isang antas ng ibabaw - magtrabaho kasama ang pinagbabatayan na dahilan.

Bago mo tingnan ang error, tiyaking gumagawa ka sa isang program na nakumpleto nang malinis ang bahagi ng compilation—nang walang mga babala. Walang kwenta ang pag-aaksaya ng oras sa mga error na kahit ang compiler ay makikita. Magtipon ng maraming impormasyon hangga't maaari; Kung ang isang bug ay iniulat ng isang ikatlong partido, tanungin nang detalyado ang mga nakatagpo nito.

Tip 26: Maghanap ng Mga Bug sa Labas ng Operating System

Ipagpalagay na ang lahat ay maayos sa operating system, database at iba pang software. Kung "isang pagbabago lang" ang ginawa mo at huminto sa paggana ang system, malamang na iyon ang dahilan ng nangyari, gaano man kabaliw ang pahayag na ito. Kung hindi mo alam kung saan magsisimula, maaari kang laging umasa sa magandang lumang binary na paghahanap.

Exception: Kung ang alinman sa iyong mga tool ay na-update kamakailan, ang problema ay maaaring sanhi ng mga salungatan sa bagong bersyon. Subaybayan ang timetable para sa paparating na mga pagbabago upang mabawasan ang epekto ng mga naturang salungatan.

Tip 27: Huwag Mag-assume - Patunayan

Ang sorpresang nararanasan mo kapag may mali ay direktang proporsyonal sa antas ng iyong pananampalataya sa kawastuhan ng programa. Samakatuwid, kapag nahaharap sa isang hindi inaasahang pagkabigo ng programa, dapat mong tanggapin na mali ang isa o higit pa sa iyong mga pagpapalagay. Huwag bulag na magtiwala sa isang piraso ng code na nagdudulot ng error dahil lang sa "alam mo" ito ay gumagana nang maayos. Patunayan muna ito - sa totoong konteksto, na may totoong data at may tunay na kundisyon sa hangganan.

Kapag nahaharap sa isang hindi inaasahang error, subukang gumawa ng mga hakbang upang matiyak na hindi ito kumalat, makakaapekto sa iba pang mga piraso ng code, o maulit muli. Kung ito ay resulta ng maling akala ng ibang tao, talakayin ang problema sa buong pangkat.

Tip 28: Matuto ng word processing language

Paminsan-minsan kailangan nating magsagawa ng ilang pagbabagong hindi maaaring gawin sa tulong ng mga kagamitan sa kampo. Sa ganitong mga kaso, kailangan ang isang unibersal na tool sa pagpoproseso ng teksto. Gamit ang mga wika sa pagpoproseso ng salita, maaari mong mabilis na malutas ang lahat ng mga problema sa mga utility at mga ideya sa prototype na aabutin ng lima hanggang sampung beses na mas mahaba sa mga regular na wika.

Pinapadali din nila ang paggawa ng mga generator ng code, na tatalakayin sa ibang pagkakataon.

Tip 29: Sumulat ng code na magsusulat ng code para sa iyo

Kadalasang kinakailangan ng mga programmer na magsagawa ng parehong uri ng mga gawain: magbigay ng parehong functionality ngunit sa ibang konteksto, magparami ng impormasyon, o i-type lang muli ang parehong text ad infinitum. Ito ay kung saan dumating ang mga template upang iligtas. Upang lumikha ng mga ito, ang isang programmer ay maaaring bumuo ng isang code generator na maaaring magamit para sa natitirang bahagi ng buhay ng proyekto nang halos libre.

Ang mga generator ng code ay aktibo o pasibo. Ang mga passive generator ay pinaputok nang isang beses upang makamit ang isang resulta, na pagkatapos ay nagiging independyente. Ang mga ito ay mahalagang naka-customize na mga template na nakakatipid ng oras sa pag-type at ginagamit para sa mga pagpapatakbo gaya ng paggawa ng mga bagong source file, pagsasagawa ng mga binary na conversion, o paggawa ng mga lookup table at iba pang mapagkukunan na masyadong mahal para makalkula.

Ang mga aktibong code generator ay ginagamit sa tuwing kailangan ang mga resulta ng kanilang trabaho. Maaari silang maging lubhang kapaki-pakinabang sa pagsunod sa "minimum na pagdoble" na prinsipyo. Sa isang aktibong code generator, maaari kang kumuha ng representasyon ng ilang piraso ng kaalaman at ibahin ito sa lahat ng mga form na kailangan ng iyong aplikasyon. Ito ay hindi isang pagdoble dahil ang mga form na ito ay consumable at nilikha ng generator kung kinakailangan. Kapag kailangan mong ayusin ang pakikipagtulungan sa pagitan ng dalawang ganap na magkaibang kapaligiran, dapat mong isipin ang paggamit ng mga aktibong generator ng code.

Kabanata 4: Pragmatic Paranoia

Hint 30: Imposibleng magsulat ng isang perpektong programa

Sa buong kasaysayan ng programming, walang nakapagsulat ng isang perpektong piraso ng code. Malabong ikaw ang mauna. At kapag tinanggap mo ito bilang isang katotohanan, hihinto ka sa pag-aaksaya ng oras at lakas sa paghahangad ng isang ilusyon na panaginip.

Tip 31: Disenyo ayon sa mga kontrata

Ang pamamaraan ng disenyo ng kontrata ay nagmumungkahi na bumuo ng pakikipag-ugnayan ng mga module ng software batay sa kanilang mga nakadokumentong karapatan at responsibilidad upang matiyak ang tamang operasyon ng programa. Ang katumpakan dito ay tumutukoy sa kakayahang gawin nang eksakto kung ano ang nakasaad.

Ang kontrata sa pagitan ng isang subroutine at anumang potensyal na programa na tumatawag dito ay maaaring sabihin tulad ng sumusunod: "Kung natutugunan ng programa sa pagtawag ang lahat ng mga paunang kondisyon ng subroutine, ginagarantiyahan ng subroutine na ang lahat ng mga postcondition at invariant ay magiging totoo sa pagkumpleto ng operasyon nito." Kung ang isa sa mga partido ay lumabag sa mga tuntunin ng kontrata, ang isang paunang napagkasunduang panukala ay ilalapat, halimbawa, pagdaragdag ng isang pagbubukod o pagsara sa programa. Kapag bumubuo, sumunod sa mga klasikal na prinsipyo ng pagtatapos ng isang kontrata: kapag nagsusulat ng mga precondition, maging lubhang maselan, at pagdating sa mga postcondition, sa kabaligtaran, huwag gumawa ng mga hindi kinakailangang pangako.

Ang pinakamalaking benepisyo ng paggamit ng prinsipyong ito ay ang paglalagay nito ng mga claim at warranty sa unahan. Sa panahon ng isang proyekto, ang paglilista lamang ng mga salik—kung ano ang saklaw ng mga halaga ng input, kung ano ang mga kundisyon sa hangganan, kung ano ang maaaring asahan mula sa nakagawiang (o, higit sa lahat, kung ano ang hindi inaasahan mula dito)—ay isang malaking hakbang pasulong. Nang walang pagtukoy sa mga posisyong ito, dumudulas ka sa programming batay sa pagkakataon, kung saan maraming proyekto ang nabigo.

Tip 32: Hayaang mag-crash ang program nang maaga hangga't maaari

Sa maraming mga kaso, ang naturang pagwawakas ng programa ay ang pinakamahusay na pagpipilian, dahil ang mga kahalili ay hahantong sa malubhang, kung minsan ay hindi maibabalik na mga kahihinatnan. Tinitingnan ng mga pragmatista ang sitwasyon sa ganitong paraan: kung may naganap na error, nangangahulugan ito na may nangyaring napakasama at mas mabuting gawin itong ligtas.

Malinaw na sa ilang mga kaso, ang isang emergency exit mula sa isang tumatakbong programa ay hindi naaangkop (marahil kailangan mo munang mag-log ng isang bagay, kumpletuhin ang mga bukas na transaksyon, o makipag-ugnayan sa iba pang mga proseso). Gayunpaman, ang pangunahing prinsipyo ay nananatiling pareho - kung ang isang programa ay natuklasan na ang isang kaganapan na itinuturing na imposible ay naganap, ito ay nawawalan ng posibilidad. Mula sa puntong ito, ang lahat ng mga aksyon na isinagawa ng programa ay pinaghihinalaan, at ang pagpapatupad nito ay dapat na maantala sa lalong madaling panahon. Sa karamihan ng mga kaso, ang isang patay na programa ay hindi gaanong nakakapinsala kaysa sa isang sira.

Tip 33: Kung may hindi mangyayari, gumamit ng mga pahayag na ginagarantiyang hindi ito mangyayari.

Sa tuwing magsisimula kang mag-isip, "Siyempre, hindi ito mangyayari," suriin gamit ang code. Ang pinakamadaling paraan upang gawin ito ay ang paggamit ng mga pagpapatibay. Karamihan sa mga pagpapatupad ng C at C++ ay may ilang anyo ng assert o _assert macro na sumusubok sa isang lohikal na kundisyon. Ang mga macro na ito ay maaaring may malaking halaga. Halimbawa, kung ang pointer na ipinasa sa iyong pamamaraan ay hindi dapat kumuha ng halagang NULL sa anumang pagkakataon, isulat ang ipinag-uutos na katuparan ng kundisyong ito.

Ang mga paninindigan ay hindi dapat gamitin bilang kapalit para sa aktwal na paghawak ng error. Sinusubukan lamang nila ang isang bagay na hindi dapat mangyari. Mayroong isang punto ng view ayon sa kung aling mga pag-apruba ang kailangan lamang sa panahon ng pag-debug, at kapag ang proyekto ay naihatid, sila ay nagiging dead weight. Ito ay isang sobrang optimistikong pananaw: malamang na hindi ibunyag ng pagsubok ang lahat ng maaaring mangyari sa totoong mundo. Kahit na may mga isyu sa pagganap, huwag paganahin lamang ang mga pahayag na talagang may malubhang epekto dito.

Tip 34: Gumamit lamang ng mga exception sa mga pambihirang kaso

Sa pagsasagawa, gayunpaman, ang pagsuri para sa bawat error na maiisip ay maaaring magresulta sa isang malformed program; ang normal na lohika ay maaaring mauwi dahil sa sobrang saturation ng mga pamamaraan sa paghawak ng error. Tutulungan ka ng mga pagbubukod na ipatupad ang lahat nang mas maganda.

Ang pangunahing problema sa mga pagbubukod ay kailangan mong malaman kung kailan gagamitin ang mga ito. Hindi mo dapat abusuhin ang mga pagbubukod para sa normal na daloy ng pagpapatupad ng programa; sila ay dapat na nakalaan para sa mga sitwasyong pang-emergency.

Ang isang pagbubukod ay isang agarang hindi lokal na paglipat ng kontrol - isang uri ng multi-level na pahayag ng goto. Ang mga program na gumagamit ng mga pagbubukod bilang bahagi ng kanilang normal na operasyon ay dumaranas ng parehong mga problema sa pagiging madaling mabasa at mapanatili na sumasalot sa mga klasikong unstructured na programa. Nilalabag nila ang prinsipyo ng encapsulation: ang mga subroutine at ang mga programang tumatawag sa kanila ay mas malapit na nauugnay sa isa't isa dahil sa paghawak ng exception.

Tip 35: Tapusin ang iyong nasimulan.

Kapag nagsusulat ng mga programa, kailangan nating pamahalaan ang mga mapagkukunan: memorya, mga transaksyon, mga thread, mga file, mga timer - sa isang salita, iba't ibang uri mga bagay na magagamit sa limitadong dami. Kadalasan, ang paggamit ng mapagkukunan ay sumusunod sa isang nahuhulaang pattern: ang mapagkukunan ay itinalaga, ginagamit, at pagkatapos ay inilabas. Gayunpaman, maraming mga developer ang walang malinaw na plano para sa paglalaan at pagpapalabas ng mga mapagkukunan, na maaaring humantong sa mga kakulangan sa mapagkukunan. Ang solusyon dito ay simple: ang nakagawiang o bagay na humihiling ng mapagkukunan ay dapat na responsable para sa pagpapalaya ng mapagkukunang iyon.

Kung ang ilang mga gawain ay nangangailangan ng higit sa isang mapagkukunan sa parehong oras, dalawang higit pang mga panuntunan ay idaragdag:

  1. Ilabas ang mga mapagkukunan sa reverse order kung saan sila inilaan. Sa kasong ito, maiiwasan mo ang paglitaw ng mga "ulila" na mapagkukunan kung ang isa sa mga ito ay naglalaman ng mga link sa isa pa.
  2. Kapag namamahagi ng parehong hanay ng mga mapagkukunan sa iba't ibang lugar sa programa, kinakailangan na isagawa ang operasyong ito sa parehong pagkakasunud-sunod. Binabawasan nito ang pagkakataon ng deadlock.
Sa mga program na gumagamit ng mga dynamic na istruktura ng data, may mga pagkakataon na hindi na sapat ang basic resource allocation scheme. Sa kasong ito, ang lansihin ay ang magtatag ng semantic invariant para sa paglalaan ng memorya.