ທ່ານຮູ້ຄວາມແຕກຕ່າງລະຫວ່າງ syntax, ໄວຍາກອນແລະ semantics ໃນພາສາບໍ?


ຕອບ 1:

ຂ້ອຍຄິດວ່າມັນ ສຳ ຄັນທີ່ຈະຕ້ອງສັງເກດວ່າມັນມີຄວາມແຕກຕ່າງກັນລະຫວ່າງວິທີການທີ່ ຄຳ ສັບ "syntax" ແລະ "ໄວຍາກອນ" ຖືກ ນຳ ໃຊ້ໂດຍນັກພາສາສາດແລະນັກວິທະຍາສາດຄອມພິວເຕີ.

ນັກວິທະຍາສາດຄອມພິວເຕີ້ໃຊ້ ຄຳ ວ່າ "ໄວຍາກອນ" ເພື່ອອອກແບບກົດເກນທີ່ ກຳ ນົດວ່າສັນຍາລັກສະເພາະຂອງ ລຳ ດັບໃດ ໜຶ່ງ ແມ່ນຖືກຕ້ອງທາງສັງເຄາະ, ນັ້ນແມ່ນ, ບໍ່ວ່າຈະເປັນຂອງພາສາໃດ ໜຶ່ງ. ເວົ້າອີກຢ່າງ ໜຶ່ງ, ໄວຍາກອນແມ່ນ ຄຳ ອະທິບາຍຂອງໄວຍະກອນ (ທ່ານສາມາດມີ ຄຳ ອະທິບາຍທາງເລືອກຫລາຍຢ່າງຂອງ ຄຳ ສັບທີ່ຄ້າຍຄືກັນ), ແລະພາສາແມ່ນຊຸດຂອງສັນຍາລັກທີ່ຖືກຕ້ອງຕາມກົດເກນ. ໄວຍະກອນມັກຖືກສະ ໜອງ ໃຫ້ໃນຮູບແບບທີ່ເອີ້ນວ່າ backus-naur.

ນັກພາສາສາດໃຊ້ ຄຳ ວ່າ“ ໄວຍາກອນ” ເພື່ອລະບຸກົດລະບຽບ ສຳ ລັບການ ນຳ ໃຊ້ພາສາທີ່ ເໝາະ ສົມ. ມີກົດລະບຽບຫຼາຍປະເພດທີ່ແຕກຕ່າງກັນ, ແລະໃນບັນດາປະເພດນີ້, ກົດລະບຽບການສັງເຄາະແມ່ນກ່ຽວຂ້ອງກັບການໃສ່ ຄຳ ສັບໃນ ຄຳ ສັ່ງທີ່ຖືກຕ້ອງ. ສອງຢ່າງທີ່ຄວນຈື່ໄວ້ແມ່ນ: (1) ແມ່ນແລ້ວ, ທ່ານສາມາດໃຊ້ພາສາ ທຳ ມະຊາດຢ່າງບໍ່ຖືກຕ້ອງ (ແລະໂລກບໍ່ພັງທະລາຍ), ແລະ (2) ນັກພາສາທົ່ວໄປບໍ່ມີຄວາມກັງວົນທັງ ໝົດ ກ່ຽວກັບວ່າປະໂຫຍກໃດ ໜຶ່ງ ກ່ຽວກັບພາສາໃດ ໜຶ່ງ ໄດ້ຍິນແຕ່ພວກເຂົາ ກຳ ລັງຈັດການກັບການ ນຳ ໃຊ້ພາສາຕ່າງໆ.

ທັງພາສາທາງວິຊາພາສາແລະວິທະຍາສາດຄອມພິວເຕີ, ຄຳ ວ່າ "semantics" ໝາຍ ເຖິງກົດລະບຽບຫຼາຍໆຊຸດທີ່ອະທິບາຍວ່າ ລຳ ດັບຂອງສັນຍາລັກຄວນຖືກຕີຄວາມ ໝາຍ ແນວໃດ.


ຕອບ 2:

Syntax: ຄວນສ້າງພາສາແນວໃດ? ນີ້ປະກອບມີການຈັດວາງ ຄຳ ຫລັກແລະເຄື່ອງ ໝາຍ ວັກຕອນ. ຍົກຕົວຢ່າງ, Python syntax ແຕກຕ່າງຈາກ syntax C ໃນຫລາຍວິທີ. ບັນດາ ຄຳ ຖະແຫຼງຕົ້ນຕໍຕ້ອງສິ້ນສຸດດ້ວຍ semicolon ໃນ C, ໃນຂະນະທີ່ Python ຮຽກຮ້ອງການປະມວນຜົນບາງຢ່າງ.

ໃນ syntax, ທ່ານຈະເຫັນວ່ານັກພັດທະນາຫຼາຍຄົນ, ລວມທັງຕົວຂ້ອຍ, ຊະນະຄວາມຮັກຂອງພວກເຂົາຫຼືກຽດຊັງພາສາ. ຂ້ອຍກຽດຊັງ PHP ແລະ JavaScript - ພວກເຂົາອ່ານແບບບໍ່ດີ, ທ່ອນໄມ້ໃຫຍ່ກາຍເປັນສິ່ງທີ່ບໍ່ ໜ້າ ສົນໃຈແລະບໍ່ ຈຳ ເປັນສັບສົນ, ແລະເວົ້າຢ່າງກົງໄປກົງມາວ່ານັກພັດທະນາທັງສອງທ່ານສາມາດເຮັດໃຫ້ທ່ານມີຄວາມຫຍຸ້ງຍາກກັບ ຄຳ ເວົ້າທີ່ຂຽນມາແລະການປະຕິບັດທີ່ບໍ່ດີ. ເຖິງຢ່າງໃດກໍ່ຕາມ, ຂ້ອຍຮັກ Ruby ເພາະວ່າມັນອ່ານໄດ້ດີ, ພິມ ໜ້ອຍ ໜຶ່ງ, ແລະປະເພດຕ່າງໆກໍ່ບໍ່ຫຍຸ້ງຍາກເພາະວ່າພາສານັ້ນພັດທະນາ. ພາສາການກໍ່ສ້າງເຮັດໃຫ້ມັນກາຍເປັນພາສາທີ່ສະຫງ່າງາມ, ເຖິງແມ່ນວ່າມັນແມ່ນຊັ້ນການເອົາຕົວຕົນທີ່ ສຳ ຄັນທີ່ສຸດໃສ່ C.

ໄວຍາກອນ: ຄຳ ສັ່ງແນະ ນຳ ທີ່ຖືກຕ້ອງເພື່ອໃຫ້ພວກເຂົາມີຄວາມຮູ້ສຶກແລະສາມາດປະມວນຜົນໄດ້ດ້ວຍຄວາມພະຍາຍາມດ້ານຄອມພິວເຕີ້ທີ່ມີຄວາມເປັນໄປໄດ້ ໜ້ອຍ ທີ່ສຸດ. ຕົວຢ່າງ ໜຶ່ງ ທີ່ດີທີ່ສຸດທີ່ຂ້ອຍໄດ້ເຫັນໃນບໍ່ດົນມານີ້ແມ່ນຄູ່ຂອງຮັງ ສຳ ລັບ loops ດ້ວຍຄວາມຕັ້ງໃຈທີ່ຈະພິມບາງສິ່ງບາງຢ່າງເຊັ່ນ:

**********

ວິທີການທີ່ດີກວ່າ, ເຂົ້າໃຈງ່າຍ, ແລະການໃຊ້ຄອມພິວເຕີ້ ໜ້ອຍ ກວ່ານັ້ນແມ່ນການໃຊ້ ຄຳ ສັ່ງ printf () ຈຳ ນວນ ໜຶ່ງ. ຫລັກໄວຍາກອນທີ່ມີໂປຼແກຼມທີ່ດີມາພ້ອມກັບການປະຕິບັດ, ແລະນັກພັດທະນາ ໃໝ່ ທຸກຄົນມັກຈະເຮັດໃຫ້ສັບສົນສິ່ງຕ່າງໆໃນການຊອກຫາຄວາມລຽບງ່າຍ.

ນີ້ບໍ່ໄດ້ ໝາຍ ຄວາມວ່າມີວິທີທີ່ຖືກຕ້ອງແລະທາງທີ່ຜິດເພື່ອບັນລຸເປົ້າ ໝາຍ ຂອງທ່ານ. ມີວິທີ 100 ຢ່າງທີ່ຈະເຮັດແມວຜິວ ໜັງ ໄດ້ສະ ເໝີ, ແຕ່ວ່າມີພຽງສອງສາມມືເທົ່ານັ້ນທີ່ມີແນວຄິດ Big O ທີ່ຍອມຮັບໄດ້, ແລະໂດຍປົກກະຕິມີພຽງສອງສາມວິທີທີ່ສາມາດເບິ່ງເຫັນໄດ້ສະຫງ່າງາມ.

Semantics: ຄວາມຕັ້ງໃຈຂອງ ຄຳ ແນະ ນຳ ທຽບກັບການເຮັດວຽກຕົວຈິງຂອງ ຄຳ ແນະ ນຳ. Semantics ມີຄວາມ ສຳ ຄັນຢ່າງບໍ່ ໜ້າ ເຊື່ອທັງດ້ານພາສາເວົ້າແລະການຂຽນໂປແກຼມ. ຄວາມແຕກຕ່າງ: ບຸກຄົນສາມາດຕີຄວາມ ໝາຍ ຂອງ ຄຳ ເວົ້າທີ່ບໍ່ຖືກຕ້ອງ, ເຖິງແມ່ນວ່າການເວົ້າຂອງທ່ານຖືກຕ້ອງ. ຄອມພິວເຕີ ດຳ ເນີນການຢ່າງແນ່ນອນຄືກັບທີ່ທ່ານຂຽນພວກມັນຫລືບໍ່ເມື່ອມັນຖືກປິດ ໝົດ, ແລະນີ້ແມ່ນບ່ອນທີ່ມີເຫດຜົນຜິດພາດ.