Pragmatics at onomastics: ang pragmatic na kahulugan ng isang wastong pangalan. Sa problema ng pagtukoy sa 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 nagsisilbing indibidwal sa mga produkto ng mga legal na entity o indibidwal na negosyante. Pag-uuri ng mga trademark: figurative, verbal, combined, sound, holograms at three-dimensional.

    pagtatanghal, idinagdag noong 03/20/2012

    Ang papel na ginagampanan ng mga trademark at ang kanilang mga uri. Ang mga detalye ng pagbebenta ng mga branded na kalakal. 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.

    control work, idinagdag noong 02/14/2010

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

    term paper, idinagdag noong 11/28/2014

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

    term paper, 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 dinamika 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 Sales Support: 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 kasangkot sa mga relasyon sa kalakalan. Mga uri at tampok ng isang trademark, nito sikolohikal na epekto kagustuhan at pagpili ng mamimili. Ang kasaysayan ng trademark ng Apple. Mga prinsipyo ng paglikha ng mga tatak ng kalakal.

    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 pagsusuri ng pagiging epektibo nito. Ang problema sa pag-unlad, pagbuo at pag-promote ng mga trademark. Mga benepisyo at pag-andar ng mga trademark.

    pagsubok, idinagdag noong 02/28/2012

Ang bawat tao'y kailangang harapin ang mga taong napakalinaw tungkol sa kung ano ang eksaktong 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, patungo sa nilalayon na layunin, na malinaw nilang kinakatawan. Ang ganitong mga tao ay hindi nagsasabi: Ako mismo ay hindi alam kung ano ang gusto ko! Palagi nilang alam na alam ito! At karaniwan nilang naaabot ang kanilang mga layunin nang hindi humihinto o lumingon. Ang mga ganyang tao ay tinatawag pragmatista. Kaya ang mga pragmatista matagumpay na mga tao makuha ang lahat ng kailangan nila.

Kung titingnan sila mula sa labas, kung minsan ay tila ang mga ito ay mga ordinaryong mapalad: mabuti, paano sila nagtagumpay? Bakit pabor sa kanila ang mga bagay? Paano nila pinamamahalaan na palaging nasa kung saan sila dapat naroroon? Bakit hindi nila alam, mabuti, o halos hindi alam ang mga pagkatalo at hindi 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 katunayan, walang kakaiba sa kanila. Hindi sila pinagkalooban ng regalo ng clairvoyance, hypnotic na kakayahan, hindi nila alam kung paano basahin ang mga iniisip ng ibang tao. Ngunit, gayunpaman, ang mga pragmatista ay matagumpay na tao. Bakit? Dahil mayroon silang espesyal na pag-iisip. Analitikal.

Ang mga ito ay napakalakas na mga tao na nakakamit ang kanilang mga layunin. Ang mga aksyon ng mga pragmatista ay makabuluhan, lohikal. Sa anumang gawain, ang isang pragmatist ay may malinaw na diskarte. Hindi niya kinikilala ang awtoridad ng sinuman, may sariling pananaw, batay sa matino na pangangatwiran. Hindi ipinagpapalit ng pragmatista ang hindi kailangan at walang kwentang bagay, walang awa na itinatapon ang mga ito. Ang isang pragmatist ay umaasa sa kanyang sarili, hindi kailanman nagbabago ng responsibilidad sa iba, nakapag-iisa na nakakamit ang lahat ng kanyang hinahangad. Huwag magtago sa likod ng isang tao.

Tiyak na dapat tandaan: ang pragmatist ay hindi nangangailangan ng materyal na mga benepisyo. 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. Ang mga bagay ay malinaw na binalak, pagkatapos ay sumusunod sa mga planong nakabalangkas, hindi kailanman humihinto sa kung ano ang kanilang nasimulan sa kalagitnaan. At ito ay isa sa mga bahagi ng tagumpay ng mga tao ng isang pragmatic warehouse.

Ang mga pragmatic na tao ay hindi nangangarap, sa kabaligtaran. Sa halip, 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. Sa ito sila ay lubos na nakatulong sa pamamagitan ng kakayahang malamig, matino pagkalkula. Ang mga pragmatist ay handang mamuhunan ng mga pagsisikap o pananalapi lamang kapag sigurado sila na makakatanggap sila ng maraming beses na higit pa kaysa sa kanilang namuhunan.

Parang mapang-uyam, ngunit hindi ito ganap na totoo. Ang mga pragmatista ay kadalasang handa na taimtim na alagaan ang mga mahal sa buhay, tumulong sa pananalapi at espirituwal, ngunit kung nakatanggap lamang sila ng parehong saloobin sa kanilang sarili bilang kapalit. At kadalasan, nararamdaman ito sa antas ng hindi malay, hindi sila nagkakamali.

Ang ganitong mga tao ay karaniwang hindi pangkalakal. Hindi sila maliit, wala silang petty bargaining, kuripot, redneck. Ang pragmatist na ulo ng pamilya ay hindi guguluhin ang kanyang pamilya, sinisiraan siya para sa walang pagod na basura. Ngunit sa kanilang mga aksyon ay may tiyak, at isang malaking halaga ng pagkamakasarili: walang sinumang pragmatista ang tutulong sa mga hindi magpapahalaga sa tulong at hindi magpapasalamat. Ito ba ay mabuti o masama? Mahirap sagutin nang walang katiyakan. Bilang karagdagan, sila ay hindi nagtitiwala at nagdududa sa mga salita at kilos ng ibang tao. Ang mga tao sa kanilang paligid ay kadalasang 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. Ito ay nakatuon din sa mga gawa ng naturang mga siyentipiko bilang William James , George Satayana, John Dewey. Kabilang sa mga pangunahing trend 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, phenomena na maaaring maging kapaki-pakinabang sa pagsasagawa ng pananaliksik.

Noong dekada 60 ng ikadalawampu siglo, isang bagong independiyenteng paaralan ng pilosopiya ang nabuo. Ang kanyang pagtuturo ay batay sa 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 mas malinaw na nabuo at binuo ni Richard Rorty. Ang doktrina ng pragmatismo ay may dalawang direksyon: pagsusuri at relativism . Mayroon ding ikatlong neoclassical trend, bilang kinatawan nito na dapat nating banggitin Susan Haack.

Sa kabila ng katotohanan na ang iba ay mas madalas na maingat sa mga pragmatista, kung isasaalang-alang silang malamig at walang kaluluwa, maraming tao ang nagnanais na magkaroon ng isang pragmatikong karakter sa pinakamahusay na kahulugan ang mga salita. Ngunit hindi lahat ay nakakaalam ng pagkakataon na linangin ang mga pragmatikong katangian sa kanilang sarili sa kanilang sarili. Sa anong paraan?

  1. Magpasya sa isang layunin. Siyempre, ito ay dapat na totoo, hindi kamangha-manghang. Pagkatapos ay magpasya para sa iyong sarili kung ano at kung paano gawin, isinasagawa ang gawain. At pumunta sa tagumpay nito, hindi nag-iisip tungkol sa isang posibleng kabiguan at hindi ginulo ng lahat ng bagay na hindi direktang nauugnay at maaaring makagambala.
  2. Planuhin ang iyong mga prospect sa buhay hindi lamang para sa malapit, kundi pati na rin para 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 sa isang paraan o iba ay maaaring isalin sa isang bagay na medyo totoo, at samakatuwid ay makakamit.
  3. Ang pagkakaroon ng nagsimula ng ilang negosyo, sa anumang kaso ay hindi ka dapat huminto sa kalagitnaan, sa lahat ng paraan dalhin ito sa dulo. Anumang mahirap na gawain ay malulutas. At pagkatapos ng tagumpay ay magkakaroon ng pakiramdam ng kasiyahan at kumpiyansa.
  4. Bumuo ng isang diskarte ng pagkilos at laging manatili dito. Lahat tayo ay may hindi natutupad na mga hangarin. Ang pagkakaroon ng malinaw na naiintindihan para sa iyong sarili kung ano ang eksaktong gusto mo higit sa lahat, maaari kang magsimulang gumuhit ng isang tinatayang pamamaraan ng mga aksyon upang matupad ang iyong sariling mga hangarin. Kung nangangailangan ito ng mga gastusin sa pananalapi, alamin kung paano at magkano ang kailangan mong gastusin. Maaaring kailanganin mo ng tulong mula sa pamilya at mga kaibigan. At dito mahalaga ding isipin kung sino at kailan ka maaaring makipag-ugnayan para siguradong makuha ito. Kailangan mong malinaw na malaman kung anong mga kasanayan o kakayahan ang kailangan upang makamit ang layunin, at kung ano ang maaaring maging hadlang dito.
  5. at huwag mong sayangin.
  6. Patuloy na bagong bagay, magbasa ng higit pang mga libro para sa personal na paglago.

Ang gayong modelo ng pag-uugali ay dapat na sundin palagi at sa lahat ng bagay, kaya posible na 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 istrukturang linggwistika ay sapat na upang i-postulate ang pagkakaroon ng wika bilang isang uri ng abstract na network ng interdependencies, kung gayon para sa cognitive linguistics ang pokus ay hindi lamang sa wika sa hindi mapaghihiwalay na pagkakaisa ng anyo at sangkap nito, kundi pati na rin sa isang mas mataas na pagkakaisa - ang pagkakaisa ng wika at isang taong kumikilos sa totoong mundo, nag-iisip at nakakaalam, nakikipag-usap sa kanyang sariling uri.

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

Ang mga disiplina tulad ng pagsusuri sa diskurso at pagsusuri ng pag-uusap (iyon ay, kusang oral speech) na nabuo sa loob nito ay ginagabayan ng mga setting ng paradigm ng aktibidad. Para sa mga kinatawan ng paradigm na ito, ang wika ay hindi mahalaga sa sarili nito at hindi pinag-aaralan para sa sarili nito. Ito ay ontologically at epistemically kasama sa aktibidad ng tao, na parehong isa sa mga pinakamahalagang kasangkapan 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 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 sosyo-kultural na aspeto ng proseso ng komunikasyon. Mula sa pananaw ng mga makabagong diskarte, ang diskurso ay isang kumplikadong communicative phenomenon na kinabibilangan, bilang karagdagan sa mga teksto, extralinguistic na mga kadahilanan (kaalaman 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 wika - 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. Maraming mga mananaliksik ang nakikilala ang dalawang pangunahing aspeto sa cognitive analysis ng diskurso - ang mga istruktura ng representasyon ng kaalaman at mga paraan ng konseptong organisasyon nito.


Kaya, para sa communicative pragmatics, gayundin 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 ang pagsasakatuparan ng ilang mga istrukturang komunikasyon-kognitibo. Ang mga ganitong istrukturang nagbibigay-malay ay mga frame model na naglalaman ng impormasyon na may likas na sosyokultural, o kaalaman tungkol 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. Posible lamang ang komunikasyon kung mayroong ilang semantiko, impormasyong "kondensasyon" ("mga frame", "mga modelo ng kaisipan", "mga senaryo", "mga modelo ng sitwasyon") sa isip ng bawat tagapagsalita, sa kanyang larawan ng mundo. Bumalik sa 30s ng XX siglo. Nagbigay si F. Bartlett ng kahulugan ng konsepto ng "impormasyon schema", isang schema na ipinakita sa memorya. Ang konseptong ito ay pumasok din sa cognitive psychology. Tulad ng nabanggit na, sa computational linguistics ang mga konsepto ng "scenario", "frame" ay ginagamit, sa linguistics at sociology ang konsepto ng isang frame ay ginagamit din. 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 naranasan. Ang communicative-cognitive pragmatics ay nag-aalok ng ilang paraan ng pag-aaral kung ano ang gumagawa ng mga teksto na solid at magkakaugnay para sa perceiver.

Kapag naglalarawan ng isang aksyon sa pagsasalita, hindi lamang pangkalahatang tipikal na mga scheme ng praktikal at mga aktibidad sa komunikasyon, ngunit pati na rin ang mga tipikal na pamamaraan para sa pag-aayos ng panloob na mundo ng nagsasalita, sa madaling salita, isang hanay ng mga istrukturang nagbibigay-malay na ipinakita sa kanyang larawan ng mundo (natukoy sa lipunan at etno-kultural, ngunit indibidwal sa mga tuntunin ng paraan ng pag-iral). Ang henerasyon 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, scenario at frame - kundi pati na rin sa personal na kaalaman ng mga katutubong nagsasalita, na nag-iipon ng 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 pansariling modelo ng mga phenomena at sitwasyon ng realidad. 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 buhay-linguistic na karanasan ng bawat isa sa atin sa lahat ng oras ay nagdadala sa atin palayo sa isa't isa" (B. Gasparov. Language. , memorya, larawan: Linguistics of linguistic existence M., 1996. S. 16).

Gayunpaman, palagi kaming nagkakaintindihan kahit papaano - tama man o mali; oryentasyon sa pag-unawa ay isang pangunahing kondisyon ng komunikasyon ng tao. Kasabay nito, ang matagumpay na pag-unawa ay isinasagawa hindi lamang kapag sinubukan ng mga tao na maunawaan ang kahulugan ng mga salita at parirala sa pahayag, ngunit higit sa lahat kapag nakatuon sila sa intensyon ng interlocutor, sa kung ano ang nais niyang ipahayag, kung 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, P. Grice ay naglaro ng isang mahalagang papel.

Sa teorya ng speech acts, na unang binuo ni J. Austin, ang pangunahing yunit ay isang "speech act" - isang quantum of speech na nag-uugnay sa iisang intensyon ("illocution"), isang nakumpletong minimum na segment ng speech at isang 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 pagganap ng ilang mga kilos, tulad ng isang pahayag, isang katanungan, isang utos, isang paglalarawan, isang paliwanag, isang paghingi ng tawad, pasasalamat, isang 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 may katangiang performative, 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 nagsasalita sa tulong ng wika, at ayon dito, ang esensya ng proseso ng komunikasyon ay upang malutas ang intensyon na ito. Upang ipaliwanag ang pag-unawa / hindi pagkakaunawaan sa proseso ng komunikasyon, iminungkahi ang termino - "matagumpay na illocutionary act", ang kakanyahan nito ay upang makamit ang isang tiyak na resulta, para sa kapakanan kung saan ito ay ipinaglihi at ipinatupad.

Ang tagapagpananaliksik ng komunikasyon ay kailangang malaman kung ano ang eksaktong nag-aambag sa tamang persepsyon ng mga intensyon ng nagsasalita ng tagapakinig - at ito ay higit sa lahat na nananatili sa labas ng pandiwang pagpapahayag at gayunpaman ay lumalabas na isang mahalagang bahagi ng pagbigkas. Ang nilalamang ito na "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 kabaligtaran, naghihiwalay sa kanila.

Sa pangkalahatan, kinikilala na ang iba't ibang uri ng pamayanang linggwistiko at strata ng sosyo-kultural ng lipunan ay nailalarawan sa pamamagitan ng kakaibang paggamit ng wika. Sa proseso ng pag-master ng konteksto ng isang talumpati, ang mga kalahok sa isang kaganapan sa talumpati ay dapat magkaroon ng pangkalahatang background na kaalaman sa parehong lingguwistika at pangkasaysayan, kultura, at panlipunang kalikasan. I.V. Tinutukoy ni Gubbenet ang background na kaalaman bilang isang 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 kung saan imposibleng makamit ang isang kumpleto at tamang pag-unawa sa pagpapalitan ng impormasyon. Para sa tagumpay ng komunikasyon, ang pagkakatulad ng kaisipan ay mahalaga, na nagpapahintulot sa iyo na makamit ang kaunting mga pagbabago sa kaalaman sa proseso ng komunikasyon. Ang mananaliksik ng komunikasyon, samakatuwid, ay kailangang isaalang-alang ang "kaalaman sa background", na siyang magkaparehong kaalaman sa mga katotohanan ng nagsasalita at nakikinig, na siyang batayan ng komunikasyong pangwika.

Sa kasalukuyan, mayroong anim na pangunahing lugar sa pag-aaral ng diskurso: ang teorya ng speech acts, interactional sociolinguistics, etnography of communication, pragmatics, conversational analysis, at analysis of variations. Ang mga mapagkukunan para sa pagbuo ng mga modelo ng pag-unawa at mga pamamaraan para sa pagsusuri ng diskurso sa mga pamamaraang ito (kasama ang lahat ng maraming pagkakaiba sa pagitan ng mga ito) ay ang mga tagumpay ng naturang mga disiplina tulad ng linggwistika, antropolohiya, sosyolohiya, pilosopiya, teorya ng komunikasyon, sikolohiyang panlipunan at artipisyal na katalinuhan.

Sa kabila ng mga pagkakaiba sa mga pamamaraang ito, mayroong isang bagay na karaniwan at nagkakaisa sa kanila, na kasabay nito ay karaniwan sa lahat ng mga pag-aaral sa lingguwistika na nakatuon sa pag-iisip. Ito ang anthropocentricity ng wika, mas tiyak, ang praktikal, teoretikal at kaalaman sa kultura, karanasang pinagkadalubhasaan, makabuluhan at direkta o hindi direktang binibigkas ng mga katutubong nagsasalita, at sa huli ay mababawi bilang resulta ng semantiko at pagsusuri ng konsepto- sa anyo ng isang linguistic na larawan ng mundo.

Ang turn sa linguistic research tungo 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 - 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 na may kondisyon na "katamtaman" na katutubong nagsasalita, at ang mga tunay na taong gumagamit ng wika kasama ang 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 kakaibang paggamit nito sa pagsasalita, kinakailangan na bumaling sa mga kadahilanan ng paggana ng mga yunit ng wika, 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 isang pangkalahatang semiotic theory, sa isang independiyenteng larangan ng pananaliksik, na nagpasimula ng isang malakas na stream. mga kontemporaryong gawa sa pragmatics (Petrov 1987). Ang simula ng masinsinang pag-unlad ng pragmatics ay may kondisyong iniuugnay sa 1970 - ang oras ng International Symposium on the Pragmatics of Natural Languages ​​​​(Bulygina 1981:333).

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

walang tiyak na disiplinang siyentipiko. Halos lahat ng gawain sa pragmatics (hindi alintana kung ang may-akda nito sa kabuuan ay nakatuon sa linguistic semantics, pilosopiya ng wika, o pormal na lohika) ay nagsisimula sa katotohanan na ang paksa ng pananaliksik ay muling tinukoy at, alinsunod dito, ang pag-unawa ng may-akda sa natutukoy ang pragmatiko sa wika.

Naglalarawan sa mga gawain at problema ng pragmatikong pananaliksik, N.D. Arutyunova at E.V. Pansinin ni Paducheva na, unti-unting lumalawak, "ipinakikita nila ang isang tendensyang 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 pragmatics at sociolinguistics ay napakahusay na naging sanhi pa ng isang hiwalay na disiplina sa dayuhang agham upang matukoy - sociopragmatics (sociopragmatics), na pinag-aaralan ang pag-asa ng verbal na komunikasyon sa panlipunang mga kadahilanan (ARSLS 1996: 541; tingnan din 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 komunikasyong pangwika, teorya ng teksto, gramatika ng komunikasyon, mga bagong konsepto ng retorika, teorya ng mga kilos sa pagsasalita, teorya ng diskurso, i.e. lahat ng mga disiplina na may paksa sa paggamit ng wika ng tao.

Bilang resulta, ang pag-unawa sa pragmatics bilang isang direksyon na nauugnay sa solusyon ng isang malawak na iba't ibang mga problema ng paglalarawan ng paggana ng isang wika ay unti-unting itinatag sa komunidad ng siyensya. Ang pagbuo ng mga ideya ng linguistic pragmatics, ang kahulugan ng mga lugar 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 isang pang-uri, ginamit ito noong 1923 ni B. Malinovsky sa isang apendiks sa aklat na "The Meaning of Meaning" nina Ogden at Richards. 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 bahagi ng semiotics. (Nerlich & Clarke 1994; Nerlich 1995). Si C. Morris, na nagsasagawa ng pananaliksik na naglalayong pag-aralan ang istruktura ng isang semiotic na sitwasyon (semiosis) sa isang dinamiko, procedural na aspeto, kasama ang mga kalahok sa sitwasyong ito, ay nakikilala ang tatlong nabanggit na aspeto ng semiotics, na tinukoy ang pragmatics bilang "ang relasyon ng mga palatandaan sa mga nagpapakahulugan sa kanila" (Morris 1938: 6). Gayunpaman, sa hinaharap, 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 paglabo, tinukoy ni Morris ang pragmatic bilang pag-aaral ng "ang pinagmulan, paggamit at epekto ng mga palatandaan ) " (Morris 1946: 219). Mula sa kahulugang 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 epekto ng mga palatandaan. Ang pag-unawa sa pragmatics na kaayon ng kahulugan ng Morris ay matatagpuan sa akda ni G. Klaus, na tumutukoy sa pragmatics "ang sikolohikal at panlipunang aspeto ng paggamit ng mga palatandaang pangwika" (Klaus 1967: 22).

Ang pananaw ng pragmatics, tulad ng ipinakita ni C. Fillmore, ay tila kawili-wili. Ang kanyang depinisyon ay medyo detalyado at ganito ang mababasa: "Pinag-aaralan ng Pragmatics ang three-dimensional na relasyon na pinag-iisa ang (1) mga anyo ng wika, (2) ang mga communicative function na nagagawa ng mga form na ito kasama ng (3) ang mga konteksto o kapaligiran kung saan ang mga ito. ang mga anyo ng wika ay maaaring magkaroon ng data function ng wika" (sinipi sa Pocheptsov (Jr.) 1984: 33).

Isang kilalang linguistic na kahulugan ng pragmatics noong huling bahagi ng dekada 70 at unang bahagi ng dekada 80 ang kahulugang iminungkahi ni R.S. Stolnaker. Ang pragmatics ayon kay Stolnaker ay tumatalakay sa pag-aaral ng mga speech act 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. kaukulang mga 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, bilang E.S. Aznaurova, "ang lawak ng postulate ay humantong sa isang makabuluhang scatter ng mga paksa at mga problema na tinalakay sa loob ng linguistic na lugar na ito, mula sa pragmatic na interpretasyon ng mga linguistic sign at ang teorya ng speech acts, hanggang sa pag-aaral ng pragmatic parameters ng literary communication at ang teksto sa dinamika nito, na nauugnay sa "I" ng paglikha ng teksto. tao" (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, conversional 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 mga ugnayan sa pagitan ng mga anyong pangwika (mga entidad) at mga gumagamit ng mga anyong ito" (Yule 1996: 4) ay sumasalungat sa diskarte kapag ang tanging 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 pragmatics ay kinikilala bilang isang espesyal na disiplina sa linggwistika ayon sa isang malaking bilang ng mga linguist, ang posisyon na ito ay hindi karaniwang tinatanggap. Ang ilang mga mananaliksik ay itinatanggi ang pragmatics sa pagkakaroon ng kanilang sariling paksa ng pag-aaral at naghihinuha na imposibleng ituring ito bilang isa pang bahagi ng teorya ng wika. Binibigyan lamang ito ng katayuan ng isang espesyal na pananaw (pragmatic perspective) sa pagsasaalang-alang ng linguistic phenomena (tingnan ang Verschueren 1999). pragmatikong saloobin, pangkalahatang pananaw tinukoy bilang "ang may malay na intensyon ng nagpadala ng mensahe na materialized sa teksto upang magkaroon ng kaukulang epekto sa tatanggap ng talumpati" (Naer 1985: 16). Ang mga tagapagtaguyod ng gayong pag-unawa sa pragmatics ay naniniwala na ang iminungkahing maximum na limitasyon ng aplikasyon ng pragmatics ay ginagawang posible na iisa sa wika ang isang globo na nauugnay sa isang impluwensya sa pagsasalita na nagtatakda ng layunin na katulad ng isang kilos (Geliya 1988: 189).

Ang ganitong pag-unawa sa mga gawain ng pragmatics ay makikita sa mga pag-aaral na nakatuon sa huling resulta ng komunikasyon - ang epekto ng epekto (perlocutionary effect ayon kay Austin), kapag ang mga isyu ng pag-aaral ng verbal control ng pag-uugali ng tao, pagmomodelo ng panlipunan at 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 ni Stepanov ng paksa ay tinukoy bilang 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, i. subjectivity ng nakikinig, na nagsisilbing panimulang punto para sa pagbuo ng isang teorya ng interpretasyon ng mga gawa sa pagsasalita na lumilitaw sa ilang mga konteksto ng komunikasyon, kapag ang object ng interpretasyon ay ang karaniwang tinatawag na pragmatic na kahulugan ng pahayag (Arutyunova 1981).

Ang ilang mga mananaliksik ay naniniwala na ang konsepto ng interpretasyon ay nagbibigay-daan sa pinaka-natural na paraan upang bumalangkas ng mga obserbasyon sa mga katangian ng wika at, sa isang paraan o iba pa, ay naroroon sa anumang pragmatikong pag-aaral (Demyankov 1981: 369). Ang ikatlong punto ng pananaw sa kahalagahan ng mga kadahilanan ng paksa ng pagsasalita at ang addressee ay isang diskarte na tumutukoy sa tilapon ng pragmatics bilang isang paggalaw mula sa egocentrism hanggang sa prinsipyo ng kabuuang binarity "sa linya ng synthesis ng subjectivity ng nagpadala at ang pagiging subjectivity ng addressee sa isang solong at pinagsama-samang kadahilanan" (Sidorov 1995: 470).

Ang komprehensibong pagsasaalang-alang sa iba't ibang mga salik, na binibigyang-diin sa mga pragmatikong pag-aaral, "ay nagbibigay-daan sa amin upang mas maunawaan ang mga detalye ng wika sa aktwal na paggamit nito" (Gak 1997: 361) at nagpapatotoo sa namumukod-tanging potensyal ng pragmatics.

Tulad ng makikita mula sa mga kahulugan sa itaas, ang pagbibigay sa unahan ng isang partikular na grupo ng mga kadahilanan 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 na iminungkahi ni Dridze ang pagkakaroon ng dalawang pragmatista - ang "pragmatist ng komunikator" at ang "pragmatist ng tatanggap" (Dridze 1972: 34-35). Si J. Yule, na nasa huling bahagi ng 1990s, ay nagkonkreto sa konsepto ng user ("user") at nagbibigay 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 anggulo ng pananaliksik. Ang Pragmatics sa J. Yule "ay tumatalakay sa pag-aaral ng kahulugan, dahil ito ay iniulat ng tagapagsalita (o manunulat) at binibigyang-kahulugan ng tagapakinig (o mambabasa), na nagpapahintulot sa atin na pag-usapan ang: (1) pragmatik bilang ang kahulugan ng tagapagsalita (pragmatics ay ang pag-aaral ng speaker" s kahulugan); (2) pragmatics ay ang pag-aaral ng kontekstwal na kahulugan; (3) pragmatics of implication (pragmatics ay ang pag-aaral kung paano mas marami ang naipaparating kaysa sinabi); (4) ang pragmatics ay ang pag-aaral ng pagpapahayag ng relatibong distansya (Yule 1996: 3).

Dito ay kagiliw-giliw na ihambing ang mga barayti ng pragmatics na iminungkahi ni J. Yule sa isang medyo detalyadong presentasyon ng mga gawain ng pragmatics habang ang mga 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, ang pragmatics ay nag-aaral: (1) ang tahasan at nakatagong layunin ng pagbigkas; (2) mga taktika sa pagsasalita at mga uri ng gawi sa pagsasalita; (3) mga tuntunin ng pag-uusap na napapailalim sa prinsipyo ng pakikipagtulungan; (4) saloobin ng nagsasalita o ang pragmatikong kahulugan ng pagbigkas; (5) sanggunian ng tagapagsalita; (6) pragmatic presuppositions; (7) ang saloobin ng nagsasalita sa kanyang iniuulat.

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 ugnayan ng mga kalahok sa komunikasyon, pinag-aaralan ang mga sumusunod: (1) mga anyo ng komunikasyong berbal; (2) sosyal at etiquette na aspeto ng pananalita; (3) ang relasyon sa pagitan ng mga kalahok sa komunikasyon sa ilang partikular na speech act (i.e. role relations).

Kaugnay ng sitwasyon ng komunikasyon sa pragmatics, ang mga sumusunod ay sinisiyasat: (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 mga paksa at anyo ng komunikasyon (Arutyunova 1990a: 390).

Ang paghahambing ng mga variant ng pragmatics ni J. Yule at ang saklaw ng aplikasyon, ang mga gawain ng pragmatics sa N.D. Arutyunova, imposibleng hindi mapansin na 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 pragmatics ng kontekstwal na kahulugan sa Yul ay hindi hihigit sa isang makitid na hanay ng mga isyu na isinasaalang-alang na may kaugnayan sa addressee ng talumpati. 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 linggwist sa pag-aaral ng paggana ng mga yunit ng wika 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. Pinag-uusapan nila ang "pragmatics ng salita", "pragmatics ng pangungusap" (pahayag), atbp. na isinasaalang-alang, una, ang mga tampok ng paggamit ng mga entidad ng linggwistika sa ilang mga pragmatikong sitwasyon at kondisyon ng paggana at, pangalawa, ang pagsasakatuparan ng kahulugan sa konteksto sa ilalim ng impluwensya ng iba't ibang pragmatic na mga parameter. Sa una kaso, maaari nating pag-usapan ang tungkol sa "panlabas na pragmatics", at sa pangalawa - tungkol sa "internal pragmatics" (minsan ay tinatawag na pragmasemantics )" 1 (Gorshunov 1999: 5-6). Naniniwala kami na ang tahasang iminungkahi ni Yu.V. Ang paghahati ni Gorshunov ng pragmatics sa "panlabas" at "panloob", na kung saan ay nakapaloob sa implicitly sa isang bilang ng mga gawa, ay may teoretikal na interes at muli ay nagpapatunay sa lahat ng mga batayan upang magsalita ng 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 sistema ng pragmatic na impormasyon ay nagbibigay-daan sa tatlong interpretasyon: (1) semantikong impormasyon ay itinuturing bilang bahagi ng komunikasyon-pragmatic na impormasyon; (2) ang parehong mga bahagi ay itinuturing na pantay, nagsasarili, ngunit natutupad ang kanilang layunin sa malapit na kaugnayan sa isa't isa, o (3) ang pragmatikong impormasyon ay itinuturing na naka-embed sa semantikong 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 para sa lahat - kung saan gumagamit tayo ng mga salita, ang kahulugan ay maaaring tukuyin tulad ng sumusunod: ang kahulugan ng isang salita ay ang paggamit nito sa wika" ( binanggit pagkatapos ng 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, na hindi gumagawa ng pangunahing pagkakaiba sa pagitan ng kahulugan ng isang salita, isang pangungusap, at isang pagbigkas, ay hindi maaaring maging epektibo (para sa higit pang mga detalye, tingnan ang Arutyunova 1976: 39-45).

Sa loob ng balangkas ng ikalawang diskarte, may mga pagtatangka na ipatungkol ang konteksto-independiyenteng mga kahulugan ng mga yunit ng linggwistika sa saklaw ng semantika, at sa saklaw ng pragmatik - ang mga tungkulin ng pagsasalita ng mga pananalitang pangwika at sa sitwasyon.

M.V. Tinukoy ni Nikitin ang pragmasemantics bilang ang pag-aaral ng 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 ang kahulugan ng wika ng interpretasyon na ginamit sa Moscow at Polish Schools of Semantics bilang isang "pragmasemantic language" sa Sannikov 1989. Tingnan din sa koneksyon na ito 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 pagsusuri sa mga aspeto ng kahulugan na hindi sakop ng semantic theory (Levinson 1983). Kasabay nito, sa pamamagitan ng pagmumungkahi ng gayong pagkakaiba, kinikilala ng isang tao ang katotohanan na ang isang sapat na (semantiko o pragmatic) na teorya ay hindi pa nabubuo na magbibigay-daan sa isang hindi malabo na sagot sa tanong kung saan nagtatapos ang mga semantika at nagsisimula ang pragmatic (tingnan, halimbawa. , Bulygiya 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 pragmatics ay tiyak na mabibigo (Sgall 1986: 45).

Malaking interes hinggil sa relasyon sa pagitan ng pragmatics at semantics ang punto ng pananaw ni Yu.D. Apresyan. Sa malawak na pag-unawa sa pragmatic, naniniwala ang may-akda na ang pragmatic na impormasyon lamang na lexicalized o grammaticalized, ibig sabihin, ay may interes sa wika. 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 relasyon pagsasalita at pakikinig 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 pragmatics V.I. Zabotkina (Zabotkina 1989; 1993). Ang pagkilala sa pagkakaroon ng isang kumplikadong dialectical na relasyon 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 tunay na kondisyon ng pagkonsumo, at ang inaasahang epekto ng ang epekto sa nakikinig. Sa madaling salita, pinag-uusapan natin ang tungkol sa mga pragmatic na bahagi na naayos dahil sa paggamit sa semantikong istraktura ng salita, sumasalamin sa mga parameter ng paggamit nito sa mga typified na sitwasyon ng komunikasyon at tinitiyak ang pragmatic na pagmamarka ng salita sa antas ng system.

A. Vezhbitskaya at ang kanyang mga tagasunod (E.V. Paducheva at iba pa) ay malulutas ang problema ng hangganan sa pagitan ng semantika at pragmatika sa pinaka-radikal na paraan. Ang tanong na ito mismo, naniniwala si Vezhbitskaya, ay hindi makatwiran, 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 linggwistika. Sa konsepto ng Wierzbicka, ang awtonomiya ng pragmatics na may kaugnayan sa semantics ay lumabas na haka-haka, mayroong isang solong semantics ng pragmatics, o simpleng pragmatics ay isa sa mga bahagi kung saan hinati ng may-akda ang gawain ng paglalarawan ng semantika ng isang wika. . "Ang mga kahulugan ng linguistic ay pragmatic sa prinsipyo: sa wika, hindi ilang mga espesyal na napiling nagpapahayag na mga elemento ang nauugnay sa isang tao, na may isang sitwasyon sa pagsasalita, ngunit sa pangkalahatan ang kahulugan ng karamihan ng mga salita at mga yunit ng gramatika"(Paducheva 1996: 222). Ang mga hangganan ng pragmatics, tulad ng naiintindihan nila sa akda ni Wierzbicka 1991, ay tiyak na nakabalangkas sa batayan ng likas na kahulugan, kapag ang mga elementong pangwika ay nahulog sa kakayahan ng pragmatics, kung saan ang Ang mga bahagi ng pag-install (subjective, expressive, at iba pa) ay nangingibabaw sa denotative, ibig sabihin, mga elemento ng linguistic ng anumang pormal na uri, na pinag-isa lamang ng katotohanang nagdadala sila ng nakararami "pragmatic na impormasyon" (Paducheva 1996: 223).

Alam na ang mga pag-andar na ginagampanan ng mga ito ay malapit na nauugnay sa mga kahulugan ng mga yunit ng linggwistika, dahil ang pag-aaral ng mga pag-andar ng isang anyo o iba pa ay sumasaklaw sa pagsusuri ng kahulugan nito: "Ang kahulugan ay direktang nasasakop sa pag-andar na ang kaukulang yunit gumaganap; 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 relasyon sa pagitan ng mga tungkulin semantiko at n basag-basag. Ang huli ay maaaring isaalang-alang bilang isang espesyal na aspeto ng semantic function, ang kakanyahan nito ay upang ihatid ang kaugnayan ng nilalaman ng mga yunit ng wika at ang pagbigkas sa kabuuan sa mga kalahok sa speech act at ang mga kondisyon nito (Boidarko 1987: 8- 9). Iyon ay, sa halip mahirap 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, malawakang 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 "pag-aaral ng wika mula sa pananaw ng taong gumagamit nito, sa mga tuntunin ng pagpili ng mga yunit ng wika, mga paghihigpit sa kanilang paggamit sa komunikasyong panlipunan at ang epekto ng pag-impluwensya sa mga kalahok sa komunikasyon" (Crystal 1985: 240). "

Sa pag-unawa sa pragmatic bilang bahagi ng linguistic na kahulugan, kami ay sumunod sa 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 pinagtatalunang lugar nito (Gorshunov 2000). Ang pag-aaral, pag-unlad at pagpipino ng mga naitatag na pragmatic na bahagi, pagtukoy sa mga tampok ng kanilang pakikipag-ugnayan at epekto sa addressee sa iba't ibang leksikal na materyal, ay may makabuluhang teoretikal at praktikal na interes at gumaganap ng isang mahalagang papel sa pag-aaral ng semantika at pragmatics ng wika mga yunit.

Ang pag-unlad ng pragmatics ay malamang na hindi pa tapos. Marami pa ring mapagtatalunang katanungan. Ito ay mga tanong tungkol sa ugnayan sa pagitan ng pragmatic 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 linguistic na paraan sa pakikipag-ugnayan sa lipunan at ang epekto ng pagpiling ito sa iba" (Crystal 1997: 120) ng sociolinguistics, psycholinguistics, stylistics, retorika, kung saan ang pragmatics ay may malawak na lugar ng intersection ng mga interes sa pananaliksik. Ito ay isang bilog ng mga tanong na may kaugnayan sa kung paano isinasama ng isang tao ang kanyang sarili sa isang linguistic sign, sa isang pahayag, nabubuhay at kumikilos bilang isang linguistic personality, gamit ang wika upang makamit ang mga layunin nito, ihatid ang saloobin nito sa katotohanan, ang nilalaman ng mensahe, sa mga kasosyo sa komunikasyon, upang maimpluwensyahan sila.

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

» Si Andrew Hunt at David Thomas ay malamang na kilala ng lahat na kasangkot sa programming, at marami sa kanila ay pangunahing 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 iginagalang. Ang sikreto ay simple: ang mga may-akda, bagama't binibigyang-diin nila ang praktikal na kakayahang magamit ng kanilang mga tip, ay nakipag-usap sa halos lahat tungkol sa mga pangunahing prinsipyo ng pagbuo ng isang daloy ng trabaho. Marami sa mga teknikal na punto na binanggit sa teksto ay talagang lipas na sa mahabang panahon, 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 isang buod ng unang apat na kabanata; ang mga ito ay tungkol sa konsepto ng may-akda ng self-education, ang mga pangunahing kaalaman ng isang pragmatic na diskarte sa programming at ang mga patakaran para sa pagpili ng mga tool. Ang libro ay napaka-maginhawa para sa "punto" na pagbabasa: ang materyal ay ipinakita sa anyo ng magkahiwalay na mga talata-pahiwatig, na ibinigay ng mga cross-reference. Sa labas ng saklaw ng abstract na ito, may mga halimbawa mula sa mga partikular na wika, pagsusuri ng mga kaso mula sa kasanayan ng may-akda, mismong mga link, mga pagsasanay na pampalakas at ilang nakakatawang pagkakatulad na nagbibigay-buhay sa teksto - kaya inirerekomenda ko na basahin mo ang orihinal kung ilan 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 dapat 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 pagkakaiba 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 nakakaunawa bagong impormasyon at pagsamahin ito sa umiiral na kaalaman.
  • Pagkausyoso. Ang mga pragmatista ay nagtatanong, nangongolekta ng maliliit na katotohanan, interesado sa karanasan ng ibang tao.
  • Kritikal na pagmuni-muni. Hindi binabalewala ng mga pragmatista ang anumang bagay nang hindi muna alam ang mga katotohanan.
  • Realismo. Sinisikap ng mga pragmatist na hanapin kung saan ang mga pitfalls sa bawat problemang kinakaharap nila.
  • Kagalingan sa maraming bagay. Ang mga pragmatist ay naghahangad na maging pamilyar sa higit pang mga teknolohiya at operating system at magtrabaho upang makasabay sa mga panahon.
Tip 2: Mag-isip tungkol sa trabaho

Kapag nagsusulat ng code, dapat mong ganap na tumutok sa iyong ginagawa. Huwag kailanman pumunta sa autopilot mode. Mag-isip nang palagi, kritikal na nagmumuni-muni sa iyong trabaho sa real time. Ito ay tinatawag na conscious programming. Mangangailangan ng ilang oras at pagsisikap upang makabisado, ngunit ang gantimpala ay ang ugali ng patuloy na paggawa ng maliliit na pagpapabuti, pagpapabuti ng kalidad ng code sa kabuuan at pagbawas sa oras ng pagbuo.

Kabanata 1: Pragmatic Philosophy

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

Tip 3: Ipakita ang mga Solusyon, Hindi Mga Paumanhin

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

Ang pagkuha ng responsibilidad para sa mga resulta ay nangangahulugan ng pagiging responsable. Kung nagkamali ka (at lahat tayo ay nagkakamali), aminin ito nang tapat at subukang magmungkahi ng mga paraan upang ayusin ito. Huwag ilipat ang sisihin sa mga kasamahan, kasosyo, kasangkapan o mag-imbento ng mga dahilan - ito ay isang hindi produktibong pag-aaksaya ng oras. Ganoon din sa mga sitwasyon kung saan nahaharap ka sa mga kahilingan na hindi mo matugunan: huwag lang sabihing, "Ito ay hindi posible," ngunit ipaliwanag kung ano ang kailangan upang mailigtas ang sitwasyon (karagdagang mga mapagkukunan, muling pag-aayos, atbp.).


Tip 4: Huwag Iwanan ang Sirang Windows

Ang entropy ay isang termino sa pisika para 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 sa propesyonal na jargon ay tinatawag na software corruption. Mayroong maraming mga kadahilanan na nag-aambag sa katiwalian ng software, ngunit ang pinakamahalaga sa mga ito ay ang kultura ng proyekto.

Ayon sa teorya ng sirang bintana, ang mga palpak na solusyon at mga lugar ng problema ay malamang na dumami. Huwag iwanan ang "sirang mga bintana" (masamang disenyo, mga bug, masamang code) nang walang nag-aalaga. Kung walang oras para sa maayos na pag-aayos, magkomento man lang sa maling snippet, o ipakita ang mensaheng "Under construction", o gumamit ng bogus na 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 kaysa sa anumang iba pang kadahilanan.

Tip 5: Maging isang katalista 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. 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 bilang maliliit na bagay na nabubuo 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 nananatiling orihinal. Kadalasan, ang mga naipong maliliit na bagay ang humahantong sa pagkasira ng moralidad at mga pangkat. Ngunit kung nakuha mo ang prosesong ito sa mga unang yugto at agad na kumilos (tingnan ang nakaraang talata), maaari kang makawala nang may kaunting pagdanak ng dugo.

Tip 7: Gawing kinakailangan ang kalidad

Ang kalidad ay dapat na isang contractual clause sa kontratang gagawin mo sa iyong mga user. Siyempre, dapat na ito ay ang maximum, ngunit madalas na makikita mo ang iyong sarili sa mga sitwasyon kung saan kailangan mong ikompromiso 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 "tapos na": binibigyan mo lang ang mga user ng sasabihin sa pagtukoy sa limitasyon ng kalidad na maaaring ituring na katanggap-tanggap. Nakakagulat, mas gugustuhin ng marami na gumamit ng mga program na may ilang mga kapintasan ngayon, sa halip na maghintay ng isang taon para sa isang bersyon ng multimedia na ilalabas.

Gayundin, ang mga programa kung minsan ay nagiging mas mahusay sa pamamagitan ng pagpapaikli sa panahon ng pagpapapisa ng itlog. Sa pag-unlad, mayroong isang problema ng "pagpino" - 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 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. Regular na mamuhunan. Kahit na maliit ang halaga ng pamumuhunan, 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. Ang mas maraming mga tool na mayroon ka sa iyong arsenal na iyong nagagawa, mas madali para sa iyo na umangkop.
  3. Timbangin ang mga Panganib. Ang mga teknolohiya ay umiiral sa isang tiyak na saklaw - mula sa peligroso at potensyal na mataas ang pagbabalik hanggang sa mababang panganib at mababang pagbabalik. 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 - masyadong. Mas mainam na manatili sa gitnang linya.
  4. Bumili ng mababa, magbenta ng mataas. Ang pag-master ng makabagong teknolohiya bago ito maging tanyag ay isang mahirap na gawain, ngunit sulit ito: ang mga maagang nag-aampon ay madalas na nagpapatuloy sa mga kapana-panabik na 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 para sa iyo at mga bagong malikhaing landas. Kung may bago kang natutunan, subukang ilapat ang kaalamang iyon sa proyektong kasalukuyan mong ginagawa, sa abot 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 maling representasyon 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 - ito ay lubos na posible na sa iyong proyekto ay hindi ito nalalapat.

Tip 10: Kung ano ang sasabihin at kung paano sasabihin ay mahalaga

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, mag-sketch ng isang plano at ilang mga diskarte para sa kung paano pinakamahusay na maiparating ang mensahe. Gumagana ito kapwa para sa pagbalangkas ng mga dokumento at para sa mahahalagang negosasyon.
  2. Kilalanin ang Iyong Madla: Nakikipag-usap ka lamang kung naghahatid ka ng impormasyon. Upang gawin ito, kailangan mong magkaroon ng kamalayan sa mga pangangailangan, interes at kakayahan ng madla. Maglahad ng impormasyon sa paraang naiintindihan at kawili-wili sa nakikinig.
  3. Piliin ang Tamang Sandali: Mahalagang punto upang maunawaan ang madla - pag-unawa sa mga panandaliang priyoridad nito. Ang iyong sasabihin ay dapat hindi lamang nauugnay sa nilalaman, ngunit napapanahon din. Kung kinakailangan, direktang magtanong: "Maginhawa bang pag-usapan ang ...?"
  4. Piliin ang tamang istilo: Tukuyin ang estilo ng pagtatanghal ng materyal alinsunod sa mga kinakailangan ng madla: mas gusto ng isang tao ang mga hubad na katotohanan, mas gusto ng isang tao ang mga detalye, halimbawa at mahabang pagpapakilala. Muli, kung may pagdududa, magtanong.
  5. Sinalubong ng damit: Alamin kung paano maayos na "ihatid" ang iyong mga ideya. Dapat ma-verify ang lahat sa huling dokumento: spelling, layout, mga istilo ng teksto, disenyo ng pag-print.
  6. Himukin ang iyong madla: Kung maaari, isama ang mga susunod na mambabasa sa proseso ng paglikha ng mga dokumento. Gamitin ang kanilang mga ideya. Sa ganitong paraan makakakuha ka ng pinakamahusay na resulta at palakasin ang mga relasyon sa pagtatrabaho.
  7. Marunong makinig: Himukin ang mga tao sa pag-uusap 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. Ipagpatuloy ang pag-uusap: Palaging tumugon sa mga kahilingan at mensahe nang may pangakong babalikan ang paksa sa ibang pagkakataon. Kung pananatilihin mo ang mga tao sa loop, pakiramdam nila ay hindi sila nakalimutan, at mas madaling patawarin ang paminsan-minsang pagkadulas.

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 kakaiba, hindi malabo, maaasahang representasyon sa system. Ang isang alternatibo ay ang ipakita ang parehong item sa maraming lugar. Ito ay hindi maginhawa: kung ang isang bagay ay na-edit sa isang lugar, ang mga pagbabago ay dapat gawin kaagad sa lahat ng iba pa, kung hindi, ang programa ay babagsak sa ilalim ng bigat ng mga kontradiksyon. Maya-maya may makakalimutan ka, it is a matter of time.

Karamihan sa mga duplikasyon ay nabibilang sa isa sa mga sumusunod na kategorya:

  • Ipinataw ang pagdoble. 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, maaari ka lang tumanggap, ngunit sa iba ay makakahanap ka pa rin ng mga solusyon na may mga filter, aktibong generator ng code, metadata, at tamang diskarte sa pagkomento.
  • Hindi sinasadyang pagkopya. Hindi namamalayan ng mga developer na nagdo-duplicate sila ng impormasyon. Karaniwan itong nangyayari bilang resulta ng mga error o hindi pagkakapare-pareho sa isang malalim na antas (halimbawa, ang parehong katangian ay nakasulat sa ilang mga bagay), at ang pag-aalis ay nangangailangan ng muling pagsasaayos. Sa ilan sa mga kasong ito, pinahihintulutang sirain ang prinsipyo para sa kapakanan ng pagganap, ngunit sa loob lamang ng klase.
  • Sabik na pagkopya. Ginagawa ng mga developer ang pagdodoble 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 - hindi 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 kurso 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 tagapamahala, at isang malinaw na dibisyon ng mga responsibilidad. Sa modular - sa pamamagitan ng aktibong komunikasyon sa pagitan ng mga developer: lumikha ng mga grupo para sa komunikasyon, lumikha ng pampublikong lugar sa direktoryo upang mag-imbak ng mga gawain at script ng serbisyo, hikayatin ang pag-aaral at talakayan ng code ng ibang tao.
Tip 12: Gawing madaling gamitin muli ang program

Subukang lumikha ng isang kapaligiran kung saan mas madaling mahanap at muling gamitin ang umiiral na materyal kaysa likhain ito nang iyong sarili 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 pakikipag-ugnayan sa pagitan ng mga bagay na hindi nauugnay sa isa't isa

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 hindi makakaapekto sa iba. Mayroong dalawang malaking benepisyo sa pamamaraang ito: tumaas na produktibidad at nabawasan ang panganib.

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

Hinihikayat din ng orthogonal na diskarte ang muling paggamit ng bahagi. Ang mas kaunting coupling sa mga system, mas madaling i-reconfigure o reengineer.

Ang pagbawas sa panganib ay dahil sa ang katunayan na ang mga maling fragment ay nakahiwalay at hindi nakakaapekto sa buong sistema; naaayon, mas madaling ayusin o palitan ang mga ito. 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 unit 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, 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, pattern ng arkitektura, modelo ng pag-deploy) ay kailangang muling isaalang-alang sa hinaharap sa ilalim ng ang 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 mga tracer bullet para mahanap ang iyong target

Pagsira sa metapora: kapag lumilikha ng isang bagong produkto, ang pangkat ng pag-unlad ay madalas na gumagana 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 hula batay sa isang napakadetalyadong pagsusuri ng mga teknolohiya, o sa pamamagitan ng paggamit ng "pagsubaybay" - paglikha ng isang serye ng pinasimple, pagsubok, at unti-unting pinabuting mga gumaganang bersyon upang pagsama-samahin ang mga bahagi ng system at suriin kung paano sila magtrabaho nang sama sama.

Ang isang alternatibo sa diskarteng ito - ang nakahiwalay na pag-unlad ng mga indibidwal na module, na pinagsama-sama sa huling yugto at pagkatapos ay nasubok na 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 (maaari mo itong ipakita sa mga user para ipakita sa kanila ang kakanyahan ng proyekto, maging interesado sila at makakuha ng feedback); mas maayos at mas nakatutok na pagsasama ng mga nakahandang bagong module sa kapaligiran at ang kakayahang agad na matukoy at madaling maalis ang mga error sa pakikipag-ugnayan.

Tip 16: Prototype upang matuto mula sa

Hindi tulad ng mga pansubok na bersyon na inilarawan sa itaas, ang mga prototype ay may mas makitid na pokus: ang mga ito ay nilikha upang gumawa ng ilang partikular na katangian at nangangailangan ng mas kaunting mapagkukunan. Ang lahat ng mga detalye na hindi nauugnay sa problemang isinasaalang-alang 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 isang diagram sa papel o board. Kung ito ay kinakailangan, kung gayon makatuwirang pumili ng isang wika mataas na lebel- sa itaas ng antas ng wikang 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 sa mga uri ng data) at lumikha pa rin ng functional, kahit na hindi kumpleto at mabagal, fragment ng program.

Tip 17: Code na may Saklaw sa Isip

Nakakaapekto ang mga programming language sa kung paano mo iniisip ang isang problema at kung paano ka nakikipag-ugnayan sa user. Ang bawat wika ay may sariling katangian na humahantong sa ilang mga solusyon o, sa kabaligtaran, humahadlang sa kanila. Ang isang Lisp-style na solusyon ay iba sa isang C-thinking solution, at vice versa. Totoo rin ang kabaligtaran - isang wika na nagpapakita ng mga detalye ng problemang pinagtatrabahuhan mo ay maaaring mag-alok ng solusyon sa larangan ng programming.

Sa pamamagitan ng pakikinig sa mga kinakailangan ng mga 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 saan 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: Suriin para Iwasan ang Mga Sorpresa

Ang pagbibigay ng magaspang na pagtatantya ay isang kasanayan, at isang mahalagang bahagi ng kasanayang ito 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 pagtatrabaho).

Ang pagtatasa ay isinasagawa sa maraming yugto. Una, sinusuri namin ang kakanyahan ng tanong na itinanong at sinusuri ang saklaw ng lugar ng paksa; bukod pa rito, ang mismong mga salita ng tanong ay madalas na humahantong sa isang sagot. Pagkatapos ay binuo ang isang modelo ng problema - isang tinatayang pagkakasunud-sunod ng mga yugto na kailangang pagdaanan kapag nilutas ito. Ang modelo ay nabubulok sa mga bahagi, para sa bawat isa kung saan nakatakda ang isang parameter ng kahalagahan. Batay sa mga parameter na ito at tinatayang mga 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, sa kaso ng mga malubhang paglihis, ang trabaho ay isinasagawa sa mga pagkakamali.

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

Maaaring hindi ito ayon sa gusto ng management, na karaniwang gustong ipahayag 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 pangkat at ng 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 oras para sa bawat yugto.

Kabanata 3: Camping Toolkit

Ang mga tool ay isang paraan upang mapahusay ang iyong talento. Kung mas magaling sila at mas mabuti na pagmamay-ari mo sila, mas marami kang magagawa. Magsimula sa isang maraming nalalaman, "naglalakbay" na toolbox na gagamitin mo para sa lahat ng mga 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 Format

Ang pinakamahusay na format para sa permanenteng pag-iimbak ng kaalaman ay plain text, na nagpapahintulot sa impormasyon na maiproseso nang manu-mano at sa tulong ng 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 hiwalay sa program na bumuo nito.

Ang plain text ay may dalawang pangunahing kawalan: (1) maaari itong tumagal ng mas maraming espasyo sa imbakan kaysa sa isang naka-compress na binary na format, at (2) mula sa isang computational point of view, ang interpretasyon at pagproseso ng isang plain text file ay maaaring maging 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 mag-save ng metadata na maglalarawan sa orihinal na data sa plain text na format.

Ang simpleng teksto ay:

  • Tiyaking hindi luma ang data
  • Mas maikling daan patungo sa layunin
  • Mas madaling pagsubok
Tip 21: Gamitin ang Strengths of Shells

Kung nagtatrabaho ka lamang sa isang graphical na interface, hindi mo ginagamit ang lahat ng mga tampok na ibinigay ng operating system - hindi ka nag-automate karaniwang mga gawain, huwag gumamit ng mga magagamit na tool sa buong lakas huwag pagsamahin iba't ibang solusyon upang lumikha ng mga espesyal na tool sa macro. Ang bentahe ng isang graphical na user interface ay gumagana ang mga ito sa isang "what you see is what you get" approach. Pangunahing kawalan graphical interface ay maaaring formulated bilang mga sumusunod: "makukuha mo lamang kung ano ang nakikita mo." Ang saklaw ng naturang mga tool ay karaniwang limitado sa mga gawain kung saan ito ay orihinal na ipinaglihi. Kung gusto mong lumampas sa pattern na ito (at maaga o huli ay gagawin mo ito), wala ka na sa kanila.

Maglagay ng kaunting pagsisikap upang maging pamilyar sa shell at magugulat ka kung gaano ka nagiging produktibo ang iyong trabaho. Ang mga utos ng linya ay maaaring nakakalito, ngunit ang mga ito ay makapangyarihan at maigsi. Sa pamamagitan ng pag-bundle ng mga ito sa mga script file, maaari kang lumikha ng mga sequence ng mga command upang i-automate ang mga karaniwang ginagamit na pamamaraan.

Tip 22: Gumamit ng isang text editor, ngunit sulitin ito

Ang pagpoproseso ng salita ay dapat tumagal ng isang minimum na pagsisikap, kaya mas mahusay na makabisado ang isang solong editor sa pagiging perpekto at gamitin ito upang malutas ang lahat ng mga gawain sa pag-edit: nagtatrabaho sa teksto ng programa, dokumentasyon, mga tala, pangangasiwa ng system, atbp. Mahirap maging isang dalubhasa sabay-sabay sa ilang mga kapaligiran ng software, dalhin ang gawain sa bawat isa sa isang reflex, dahil ang bawat isa sa kanila ay may sariling hanay ng mga utos at pamantayan. Sinusubukang pagsamahin ang ilang mga editor, mayroon kang panganib na maulit ang sitwasyon sa Babylonian pandemonium.

Ang pagpili ng editor ay halos isang relihiyon, kaya walang partikular na rekomendasyon ang maaaring gawin dito. Gayunpaman, kapag gumagawa ng desisyon, dapat isaalang-alang ang mga sumusunod na parameter:

  • Pagpapasadya. Ang lahat ng mga katangian ng editor ay dapat na nako-customize, kabilang ang mga font, kulay, laki ng window, at hotkey.
  • Pagpapalawak. Ang editor ay hindi dapat maging lipas na 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 "turuan" siya ng 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 Gamitin ang Source Code Control

Sinusubaybayan ng mga source code management 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. Gamit ang isang maayos na na-configure na source code management system, maaari kang bumalik sa isang nakaraang bersyon ng isang program anumang oras.

Ang isang source code management system ay nagbibigay ng 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 partikular na tanong: "Sino ang gumawa ng mga pagbabago sa linyang ito ng teksto? Ano ang pagkakaiba ng bersyon na umiiral ngayon at ang bersyon na umiral noong nakaraang linggo? Ilang linya ng teksto ng programa ang nabago sa bersyong ito? Aling mga file ang higit na nagbabago? Ang ganitong uri ng impormasyon ay napakahalaga para sa pagsubaybay sa bug, pag-audit, pagganap at mga pagtatasa ng kalidad.


Paano ang pag-debug?

Tip 24: Tumutok sa pag-aayos ng problema, hindi paninisi

Lumipat kami sa paksa ng pag-aayos ng mga bug - napakasensitibo at lubhang nauugnay para sa pagtutulungan ng magkakasama. Dito, bilang wala saanman, 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. Nananatili pa rin itong problema mo.

Tip 25: Huwag Magpanic

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 mababaw na antas - magtrabaho kasama ang ugat na sanhi.

Bago mo tingnan ang error, tiyaking gumagawa ka sa isang program na pumasa sa yugto ng compilation nang malinis - nang walang mga babala. Ang pag-aaksaya ng oras sa mga error na kahit ang compiler ay nakikita ay walang saysay. Magtipon ng maraming impormasyon hangga't maaari; kung ang isang bug ay iniulat ng isang ikatlong partido, tanungin ang mga nakatagpo nito nang detalyado.

Tip 26: Maghanap ng mga bug sa labas ng operating system

Magsimula sa pagpapalagay na ang lahat ay maayos sa operating system, database, at iba pang software. Kung ikaw ay "nagsagawa ng isang pagbabago lamang" at ang system ay tumigil sa paggana, malamang na ito ang sanhi 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 iskedyul ng mga paparating na pagbabago upang mabawasan ang epekto ng mga naturang salungatan.

Tip 27: Huwag Mag-assume - Patunayan

Ang sorpresa na makukuha mo kapag may nangyaring mali ay direktang proporsyonal sa antas ng 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 nagdulot 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 lumaganap, makakaapekto sa iba pang mga snippet ng code, o maulit. Kung ito ay resulta ng maling akala ng isang tao, talakayin ang isyu sa buong pangkat.

Tip 28: Matuto ng Word Processing Language

Paminsan-minsan kailangan nating magsagawa ng ilang pagbabagong hindi magagawa gamit ang toolkit ng kamping. Sa ganitong mga kaso, kailangan ang isang unibersal na tool sa pagpoproseso ng teksto. Gamit ang mga wika sa pagpoproseso ng salita, mabilis mong malulutas ang mga problema sa utility at mga ideya sa prototype na aabot ng lima hanggang sampung beses na mas mahaba sa mga regular na wika.

Pinapadali din nila ang paglikha ng mga generator ng code, na tatalakayin sa susunod.

Tip 29: Sumulat ng code na magko-code para sa iyo

Kadalasang kinakailangan ng mga programmer na magsagawa ng mga katulad na gawain: magbigay ng parehong functionality ngunit sa ibang konteksto, magparami ng impormasyon, o i-type lang muli ang parehong text ad infinitum. Dito pumapasok ang mga template. Upang malikha ang 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 walang gastos.

Ang mga generator ng code ay aktibo at pasibo. Ang mga passive generator ay tumatakbo nang isang beses upang makamit ang isang resulta, na pagkatapos ay nagiging independyente. Sa katunayan, ang mga ito ay mga customized na template na nakakatipid ng oras sa pag-type at ginagamit para sa mga operasyon gaya ng paggawa ng mga bagong source file, pagsasagawa ng binary transformation, o paggawa ng mga lookup table at iba pang mapagkukunan na masyadong mahal sa computation.

Ang mga aktibong code generator ay ginagamit tuwing may pangangailangan para sa mga resulta ng kanilang trabaho. Maaari silang maging lubhang kapaki-pakinabang sa pagsunod sa prinsipyo ng "minimum na pagdoble". Sa isang aktibong code generator, maaari kang kumuha ng representasyon ng ilang piraso ng kaalaman at ibahin ito sa anumang anyo 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 magkasanib na gawain ng dalawang ganap na magkaibang kapaligiran, dapat mong isipin ang paggamit ng mga aktibong generator ng code.

Kabanata 4: Pragmatic Paranoia

Tip 30: Imposibleng Magsulat ng Isang Perpektong Programa

Sa buong kasaysayan ng programming, walang nakapagsulat ng isang perpektong piraso ng code. Malabong ikaw ang mauuna. At kapag tinanggap mo ito bilang isang katotohanan, hindi ka na mag-aaksaya ng oras at lakas sa paghabol sa isang makamulto na panaginip.

Tip 31: Disenyo ayon sa mga kontrata

Ang disenyo-by-contract methodology ay nagmumungkahi na bumuo ng interaksyon ng mga software module sa batayan ng kanilang mga dokumentadong karapatan at obligasyon upang matiyak ang tamang operasyon ng programa. Ang kawastuhan ay nauunawaan bilang ang kakayahang gawin nang eksakto kung ano ang nakasaad.

Ang kontrata sa pagitan ng isang subroutine at anumang potensyal na programa sa pagtawag ay maaaring buuin tulad ng sumusunod: "Kung natutugunan ng programa sa pagtawag ang lahat ng mga paunang kondisyon ng subroutine, ginagarantiyahan ng subroutine na, sa pagtatapos ng trabaho nito, ang lahat ng mga postcondition at invariant ay magiging totoo. " Kung ang isa sa mga partido ay lumabag sa mga tuntunin ng kontrata, ang isang naunang napagkasunduan na panukala ay inilapat, halimbawa, isang pagbubukod ay idinagdag o ang programa ay winakasan. Sa pag-unlad, sumunod sa mga klasikong prinsipyo ng pagtatapos ng isang kontrata: kapag nagrereseta ng mga paunang kondisyon, maging labis na mapang-akit, at pagdating sa mga postkondisyon, sa kabaligtaran, huwag gumawa ng mga hindi kinakailangang pangako.

Ang pinakamalaking benepisyo ng paggamit ng prinsipyong ito ay ang paglalagay nito sa mga isyu ng mga claim at garantiya sa unahan. Sa panahon ng buhay ng isang proyekto, ang paglilista lamang ng mga salik—ano ang hanay ng mga input, ano ang mga kundisyon sa hangganan, kung ano ang maaaring asahan mula sa subroutine (o, higit sa lahat, kung ano ang hindi maasahan mula rito)—ay isang malaking hakbang pasulong. Sa pamamagitan ng hindi pagtukoy sa mga posisyong ito, dumausdos ka sa programming batay sa pagkakataon, kung saan maraming proyekto ang nabigo.

Tip 32: Hayaang mag-crash ang program sa lalong madaling panahon

Sa maraming mga kaso, ang pagtatapos ng programa sa ganitong paraan ay ang pinakamahusay na paraan, dahil ang mga kahalili ay hahantong sa seryoso, kung minsan ay hindi maibabalik, na mga kahihinatnan. Tinitingnan ng mga pragmatista ang sitwasyon tulad nito: kung ang isang pagkakamali ay nangyari, kung gayon ang isang bagay na napakasama ay nangyari at ito ay mas mahusay na i-play ito nang 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, isara ang mga bukas na transaksyon, o makipag-ugnayan sa iba pang mga proseso). Gayunpaman, ang pangunahing prinsipyo ay nananatiling pareho - kung nakita ng programa na naganap ang isang kaganapan na itinuturing na imposible, mawawalan ito ng posibilidad. Simula sa sandaling ito, ang lahat ng mga aksyon na isinagawa ng programa ay nasa ilalim ng hinala, 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 upang Matiyak na Hindi Ito Mangyayari

Sa tuwing magsisimula kang mag-isip ayon sa mga linya ng "Siyempre, hindi ito mangyayari," i-verify ito gamit ang code. Ang pinakamadaling paraan upang gawin ito ay ang paggamit ng mga assertion. Karamihan sa mga pagpapatupad ng mga wikang C at C++ ay may ilang uri ng assert o _assert macro na tumitingin para sa isang boolean na kundisyon. Ang mga macro na ito ay maaaring may malaking halaga. Halimbawa, kung ang pointer na ipinasa sa iyong pamamaraan ay hindi dapat kunin ang halagang NULL, isulat ang obligadong katuparan ng kundisyong ito.

Ang mga paninindigan ay hindi dapat gamitin bilang kapalit ng 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: ang pagsubok ay malamang na hindi magbubunyag ng lahat ng maaaring mangyari sa totoong mga kondisyon. Kahit na may mga isyu sa performance, i-disable lang ang mga assertion na talagang may malaking epekto sa performance.

Tip 34: Gumamit Lamang ng Mga Pagbubukod sa Mga Pambihirang Kaso

Sa pagsasagawa, gayunpaman, ang pagsuri para sa bawat naiisip na pagkakamali ay maaaring magresulta sa pagiging pangit ng programa; ang normal na lohika ay maaaring bumagsak dahil sa pagsisikip sa mga gawain sa paghawak ng error. Ang mga pagbubukod ay makakatulong upang maipatupad ang lahat nang mas maganda.

Ang pangunahing problema sa mga pagbubukod ay kailangan mong malaman kung kailan gagamitin ang mga ito. Huwag abusuhin ang mga eksepsiyon para sa normal na daloy ng pagpapatupad ng programa; sila ay dapat na nakalaan para sa mga emergency na sitwasyon.

Ang isang pagbubukod ay isang agarang hindi lokal na paglipat ng kontrol - isang uri ng layered goto statement. Ang mga program na gumagamit ng mga pagbubukod sa kanilang normal na trabaho ay nakakaranas ng parehong mga problema sa pagiging madaling mabasa at mapanatili gaya ng mga klasikong unstructured na programa. Nilalabag nila ang prinsipyo ng encapsulation: ang mga subroutine at ang mga programang tumatawag sa kanila ay mas mahigpit na pinagsama 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 item na magagamit sa limitadong batayan. 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 pagpapalabas 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 paano sila inilaan. Kasabay nito, maiiwasan 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 isang deadlock.
Sa mga program na gumagamit ng mga dynamic na istruktura ng data, may mga pagkakataong hindi maganda ang pinagbabatayan na pamamaraan ng paglalaan ng mapagkukunan. Sa kasong ito, ang lansihin ay ang magtatag ng semantic invariant para sa paglalaan ng memorya.