ນີ້ແມ່ນຄໍາສັ່ງ PDL::Philosophyp ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
PDL::ປັດຊະຍາ -- ເປັນຫຍັງພວກເຮົາຈຶ່ງຂຽນ PDL?
ລາຍລະອຽດ
ປະຫວັດສາດບາງຢ່າງຈາກຜູ້ສ້າງ PDL, ນໍາໄປສູ່ປັດຊະຍາແລະແຮງຈູງໃຈທີ່ຢູ່ເບື້ອງຫຼັງ
ພາສາຂໍ້ມູນນີ້. ນີ້ແມ່ນຄວາມພະຍາຍາມທີ່ຈະສະຫຼຸບບາງສ່ວນຂອງຈິດໃຈທົ່ວໄປລະຫວ່າງ pdl
ນັກພັດທະນາເພື່ອຕອບຄໍາຖາມ "ເປັນຫຍັງ PDL"?
ໄດ້ ເລີ່ມຕົ້ນ of PDL
“ເປັນຫຍັງ is it ທີ່ we ບັນເທີງ ໄດ້ ຄວາມເຊື່ອ ທີ່ ສໍາລັບການ ທຸກ ຈຸດປະສົງ ຄີກ ຈໍານວນ ມີ ໄດ້ ຂົວ
ໄດ້ຜົນ?" - Pliny ໄດ້ Elder
ໂຄງການ PDL ໄດ້ເລີ່ມຕົ້ນໃນເດືອນກຸມພາ 1996, ເມື່ອຂ້ອຍຕັດສິນໃຈທົດລອງການຂຽນຂອງຂ້ອຍເອງ
"ພາສາຂໍ້ມູນ". ຂ້ອຍເປັນນັກດາລາສາດ. ວຽກປະຈໍາວັນຂອງຂ້ອຍກ່ຽວຂ້ອງກັບການວິເຄາະຫຼາຍຂອງດິຈິຕອນ
ຂໍ້ມູນທີ່ສະສົມໃນຫຼາຍຄືນທີ່ສັງເກດເບິ່ງ telescopes ໃນທົ່ວໂລກ. ຂໍ້ມູນດັ່ງກ່າວອາດຈະ
ຕົວຢ່າງເຊັ່ນ: ຮູບພາບທີ່ປະກອບດ້ວຍຫຼາຍລ້ານ pixels ແລະຫຼາຍພັນຮູບພາບຂອງຫ່າງໄກ
ດາວ ແລະ galaxies. ຫຼືຫຼາຍກວ່າ abstrusely, ຫຼາຍຮ້ອຍຄົນຂອງ spectra ດິຈິຕອນເປີດເຜີຍ
ຄວາມລັບຂອງອົງປະກອບແລະຄຸນສົມບັດຂອງວັດຖຸຫ່າງໄກເຫຼົ່ານີ້.
ແນ່ນອນ, ນັກດາລາສາດຫຼາຍຄົນໄດ້ແກ້ໄຂບັນຫາເຫຼົ່ານີ້ກ່ອນ, ແລະເປັນຈໍານວນຫຼວງຫຼາຍ
ຊອບແວໄດ້ຖືກສ້າງຂື້ນເພື່ອອໍານວຍຄວາມສະດວກໃນການວິເຄາະຂອງພວກເຂົາ. ຢ່າງໃດກໍຕາມ, ເຊັ່ນດຽວກັນກັບຈໍານວນຫຼາຍຂອງຂ້ອຍ
ເພື່ອນຮ່ວມງານ, ຂ້າພະເຈົ້າຮູ້ສຶກອຸກອັ່ງຢູ່ສະເຫມີໂດຍການຂາດການທົ່ວໄປແລະຄວາມຍືດຫຍຸ່ນຂອງສິ່ງເຫຼົ່ານີ້
ໂຄງການແລະຄວາມຫຍຸ້ງຍາກຂອງການເຮັດຫຍັງອອກຈາກປະຊຸມສະໄຫມຢ່າງວ່ອງໄວແລະໄດ້ຢ່າງງ່າຍດາຍ. ແມ່ນຫຍັງ
ຂ້າພະເຈົ້າຢາກມີຊື່: "ພາສາຂໍ້ມູນ", ເຊັ່ນ: ພາສາທີ່ອະນຸຍາດໃຫ້ການຫມູນໃຊ້ຂອງ
ຂໍ້ມູນຈໍານວນຫຼວງຫຼາຍດ້ວຍການສະແດງອອກທາງເລກເລກທີ່ງ່າຍດາຍ. ໃນຄວາມເປັນຈິງ, ການຄ້າບາງຢ່າງ
ຊອບແວເຮັດວຽກແບບນີ້, ແລະຂ້ອຍປະທັບໃຈກັບຄວາມສາມາດແຕ່ບໍ່ແມ່ນກັບ
ປ້າຍລາຄາ. ແລະຂ້າພະເຈົ້າຄິດວ່າຂ້າພະເຈົ້າສາມາດເຮັດໄດ້ດີກວ່າ.
ເປັນນັກດາລາສາດທີ່ຮູ້ຄອມພິວເຕີພໍສົມຄວນ (ອ່ານ "nerd" ຫຼື "geek" ຕາມທ້ອງຖິ່ນຂອງເຈົ້າ
argot) ຂ້ອຍຄຸ້ນເຄີຍກັບ "Perl", ພາສາຄອມພິວເຕີທີ່ປະຈຸບັນເບິ່ງຄືວ່າຈະຕື່ມຂໍ້ມູນໃສ່
ຊັ້ນວາງຂອງຮ້ານປຶ້ມຫຼາຍແຫ່ງໃນທົ່ວໂລກ. ຂ້າພະເຈົ້າປະທັບໃຈໂດຍພະລັງງານຂອງຕົນແລະ
ຄວາມຍືດຫຍຸ່ນ, ແລະໂດຍສະເພາະແມ່ນຄວາມສະດວກໃນການນໍາໃຊ້ຂອງມັນ. ຂ້າ ພະ ເຈົ້າ ໄດ້ ຄົ້ນ ຫາ ເຖິງ ແມ່ນ ວ່າ ຄວາມ ເລິກ ຂອງ ມັນ
ພາຍໃນແລະລາຍລັກອັກສອນໃນການໂຕ້ຕອບທີ່ຈະອະນຸຍາດໃຫ້ຮູບພາບ, ຄວາມງ່າຍໃນທີ່ຂ້າພະເຈົ້າສາມາດເຮັດໄດ້
ສ້າງຕາຕະລາງແລະກາຟ, ສໍາລັບເອກະສານຂອງຂ້ອຍ, ມີຄວາມສົດຊື່ນ.
ເວີຊັ່ນ 5 ຂອງ Perl ໄດ້ຖືກປ່ອຍອອກມາເມື່ອບໍ່ດົນມານີ້, ແລະຂ້ອຍກໍ່ຕິດໃຈກັບຄຸນສົມບັດໃໝ່
ມີໃຫ້. ໂດຍສະເພາະແມ່ນການສະຫນັບສະຫນູນໂຄງສ້າງຂໍ້ມູນທີ່ມັກ (ຫຼື "ວັດຖຸ" ໃນທີ່ທັນສະໄຫມ
parlance) ແລະຄວາມສາມາດໃນການ "overload" ປະຕິບັດການ - ie ເຮັດໃຫ້ສັນຍາລັກທາງຄະນິດສາດຄື
"+-*/" ເຮັດອັນໃດກໍໄດ້ຕາມທີ່ເຈົ້າຮູ້ສຶກ. ມັນເບິ່ງຄືວ່າຂ້ອຍມັນຄວນຈະເປັນໄປໄດ້ທີ່ຈະຂຽນ
ສ່ວນຂະຫຍາຍໄປຫາ Perl ບ່ອນທີ່ຂ້ອຍສາມາດຫຼິ້ນກັບຂໍ້ມູນຂອງຂ້ອຍໃນແບບທົ່ວໄປ: ຕົວຢ່າງເຊັ່ນການໃຊ້
ຕົວປະຕິບັດການຄະນິດສາດ manipulate ຮູບພາບທັງຫມົດໃນເວລາດຽວກັນ.
ໃນຄືນໜຶ່ງທີ່ຊ້າໆຢູ່ທີ່ຫໍສັງເກດການ ຂ້ອຍພຽງແຕ່ຄິດວ່າຂ້ອຍຈະທົດລອງທົດລອງໜ້ອຍໜຶ່ງ. ໃນ
ຊ່ວງເວລາທີ່ເບື່ອຂ້ອຍໄດ້ເປີດຕົວແກ້ໄຂຂໍ້ຄວາມ ແລະເລີ່ມສ້າງໄຟລ໌ທີ່ເອີ້ນວ່າ 'PDL.xs' - a
ໂມດູນຂະຫຍາຍ Perl ເພື່ອຈັດການ vector ຂໍ້ມູນ. ສອງສາມຊົ່ວໂມງຕໍ່ມາຂ້ອຍກໍ່ມີ
ບາງສິ່ງບາງຢ່າງທີ່ເຫມາະສົມເຄິ່ງຫນຶ່ງ, ບ່ອນທີ່ຂ້າພະເຈົ້າສາມາດເພີ່ມສອງຮູບພາບໃນພາສາ Perl, ໄວ!
ນີ້ແມ່ນສິ່ງທີ່ຂ້ອຍບໍ່ສາມາດປ່ອຍໃຫ້ພັກຜ່ອນໄດ້, ແລະມັນອາດຈະເຮັດໃຫ້ຂ້ອຍເສຍຄ່າວິທະຍາສາດຫນຶ່ງຫຼືສອງຢ່າງ
ເອກະສານທີ່ມີມູນຄ່າຜົນຜະລິດ. ສອງສາມອາທິດຕໍ່ມາ Perl Data Language ຮຸ່ນ 1.0 ແມ່ນ
ເກີດ. ມັນເປັນເດັກນ້ອຍເປົ່າຫວ່າງທີ່ສວຍງາມ: ມີຫນ້ອຍທີ່ສຸດນອກຈາກເລກຄະນິດສາດພື້ນຖານ
ຜູ້ປະກອບການ. ແຕ່ໄດ້ຊຸກຍູ້ໃຫ້ຂ້ອຍເຮັດໃຫ້ມັນມີຢູ່ໃນອິນເຕີເນັດເພື່ອເບິ່ງສິ່ງທີ່ຄົນຄິດ.
ຄົນດີມີວິຈານພໍສົມຄວນ - ໃນບັນດາສຽງດັງທີ່ສຸດແມ່ນ Tuomas Lukka ແລະ Christian
Soeller. ແຕ່ຫນ້າເສຍດາຍສໍາລັບພວກເຂົາພວກເຂົາທັງສອງແມ່ນຜູ້ທີ່ກະຕືລືລົ້ນ Perl ເກີນໄປແລະພົບໃນໄວໆນີ້
ຕົວເອງປັບປຸງລະຫັດຂອງຂ້ອຍເພື່ອປະຕິບັດຄຸນສົມບັດທັງຫມົດທີ່ເຂົາເຈົ້າຄິດວ່າ PDL ຄວນມີ
ແລະ ຂ້າ ພະ ເຈົ້າ ໄດ້ ລະ ເລີຍ heinously. PDL ເປັນຕົວຢ່າງທີ່ສໍາຄັນຂອງປະກົດການທີ່ທັນສະໄຫມຂອງ
ຂຽນຊຸດຊອບແວຟຣີຂະຫນາດໃຫຍ່ຜ່ານອິນເຕີເນັດ. ຈໍານວນຂະຫນາດໃຫຍ່ຂອງປະຊາຊົນ, ສ່ວນໃຫຍ່
ຜູ້ທີ່ບໍ່ເຄີຍພົບ, ມີການປະກອບສ່ວນຕ່າງໆສໍາລັບຫນ້າທີ່ຫຼັກໄປສູ່ຂະຫນາດໃຫຍ່
ໂມດູນໄປຫາສ່ວນນ້ອຍທີ່ສຸດຂອງ bug patches. PDL ເວີຊັ່ນ 2.0 ໃນປັດຈຸບັນຢູ່ທີ່ນີ້ (ເຖິງແມ່ນວ່າມັນຄວນຈະ
ບາງທີອາດຈະຖືກເອີ້ນວ່າສະບັບ 10 ເພື່ອສະທ້ອນໃຫ້ເຫັນເຖິງການຂະຫຍາຍຕົວໃນຂະຫນາດແລະ
functionality) ແລະປະກົດການຍັງສືບຕໍ່. ຂ້າພະເຈົ້າເຊື່ອຢ່າງຫນັກແຫນ້ນວ່າ PDL ເປັນເຄື່ອງມືທີ່ດີ
ສໍາລັບການແກ້ໄຂບັນຫາທົ່ວໄປຂອງການວິເຄາະຂໍ້ມູນ. ມັນແມ່ນມີອໍານາດ, ໄວ, ງ່າຍທີ່ຈະເພີ່ມເກີນໄປແລະ
ມີໃຫ້ທຸກຄົນ. ຂ້າພະເຈົ້າຫວັງວ່າຂ້າພະເຈົ້າໄດ້ມີມັນໃນເວລາທີ່ຂ້າພະເຈົ້າເປັນນັກສຶກສາຈົບການສຶກສາ! ຂ້ອຍຫວັງວ່າ
ເຈົ້າຍັງຈະພົບວ່າມັນມີມູນຄ່າມະຫາສານ, ຂ້ອຍຫວັງວ່າມັນຈະຊ່ວຍປະຢັດເຈົ້າຈາກເວລາຫຼາຍແລະ
ຄວາມອຸກອັ່ງໃນການແກ້ໄຂບັນຫາທີ່ຊັບຊ້ອນ. ແນ່ນອນ, ມັນບໍ່ສາມາດເຮັດໄດ້ທຸກຢ່າງ, ແຕ່ມັນສະຫນອງ
ໂຄງຮ່າງການ, hammers ແລະຕະປູສໍາລັບການແກ້ໄຂການກໍ່ສ້າງໂດຍບໍ່ມີການ reinvent
ລໍ້ ຫຼື levers.
--- Karl Glazebook, ຜູ້ສ້າງ PDL
ທີ່ສໍາຄັນ ແນວຄວາມຄິດ
ຫຼັກການທໍາອິດຂອງປັດຊະຍາຂອງພວກເຮົາແມ່ນແນວຄວາມຄິດ "ຊອບແວຟຣີ": ຊອບແວທີ່ບໍ່ເສຍຄ່າມີ
ຂໍ້ດີຫຼາຍ (ຂໍ້ບົກພ່ອງຫນ້ອຍເພາະວ່າຄົນເບິ່ງລະຫັດຫຼາຍ, ທ່ານສາມາດມີແຫຼ່ງ
ແລະ port ມັນກັບສະພາບແວດລ້ອມການເຮັດວຽກຂອງທ່ານເອງກັບທ່ານ, ... ແລະແນ່ນອນ, ວ່າທ່ານບໍ່ໄດ້
ຈໍາເປັນຕ້ອງຈ່າຍຫຍັງ).
ແນວຄວາມຄິດອັນທີສອງແມ່ນເປັນສັດລ້ຽງຂອງຫຼາຍໆຄົນ: ຫຼາຍພາສາເຊັ່ນ Matlab ແມ່ນເຫມາະສົມດີ
ສໍາລັບວຽກງານສະເພາະຂອງເຂົາເຈົ້າແຕ່ສໍາລັບຄໍາຮ້ອງສະຫມັກທີ່ແຕກຕ່າງກັນ, ທ່ານຈໍາເປັນຕ້ອງໄດ້ປ່ຽນເປັນ
ເຄື່ອງມືທີ່ແຕກຕ່າງກັນທັງຫມົດແລະ reear ຕົວທ່ານເອງຈິດໃຈ. ບໍ່ໄດ້ເວົ້າກ່ຽວກັບການເຮັດ
ຄໍາຮ້ອງສະຫມັກທີ່ເຮັດສອງສິ່ງໃນເວລາດຽວ ... ເນື່ອງຈາກວ່າພວກເຮົານໍາໃຊ້ Perl, ພວກເຮົາມີພະລັງງານແລະ
ຄວາມງ່າຍຂອງໄວຍະກອນ Perl, ການສະແດງອອກປົກກະຕິ, ຕາຕະລາງ hash, ແລະອື່ນໆ. ຢູ່ປາຍນິ້ວຂອງພວກເຮົາ
ເທື່ອ. ໂດຍການຂະຫຍາຍພາສາທີ່ມີຢູ່ແລ້ວ, ພວກເຮົາເລີ່ມຕົ້ນຈາກພື້ນຖານສຸຂະພາບຫຼາຍກ່ວາ
ພາສາເຊັ່ນ Matlab ທີ່ໄດ້ເຕີບໃຫຍ່ຂຶ້ນຈາກການທໍາງານຂະຫນາດນ້ອຍຫຼາຍຢູ່ທີ່
ທໍາອິດແລະຂະຫຍາຍເທື່ອລະກ້າວ, ເຮັດໃຫ້ສິ່ງຕ່າງໆເບິ່ງຄືວ່າວາງແຜນທີ່ບໍ່ດີ. ພວກເຮົາຢືນຢູ່ຂ້າງ
Perl ເວົ້າວ່າ: "ສິ່ງທີ່ງ່າຍດາຍຄວນຈະງ່າຍດາຍແຕ່ສິ່ງທີ່ສັບສົນຄວນຈະເປັນໄປໄດ້"
ແລະ "ມີຫຼາຍກວ່າຫນຶ່ງວິທີທີ່ຈະເຮັດມັນ" (TIMTOWTDI).
ແນວຄວາມຄິດທີສາມແມ່ນການໂຕ້ຕອບກັນ: ພວກເຮົາຕ້ອງການທີ່ຈະສາມາດນໍາໃຊ້ PDL ເພື່ອຂັບລົດເປັນເຄື່ອງມືຫຼາຍ
ເທົ່າທີ່ເປັນໄປໄດ້, ພວກເຮົາສາມາດເຊື່ອມຕໍ່ກັບ OpenGL ຫຼື Mesa ສໍາລັບຮູບພາບຫຼືສິ່ງໃດກໍ່ຕາມ. ບໍ່ມີ
ສິ່ງໃດສິ່ງໜຶ່ງທີ່ໜ້າພໍໃຈເປັນເຄື່ອງມື ແລະສາມາດເຮັດທຸກສິ່ງທີ່ພວກເຮົາຕ້ອງການ
ໄດ້ຢ່າງງ່າຍດາຍ. ແລະຈະ Portable.
ຄວາມຄິດທີ່ສີ່ແມ່ນກ່ຽວຂ້ອງກັບ "PDL::PP" ແລະເປັນສ່ວນຕົວຂອງ Tuomas: ລະຫັດຄວນ
ພຽງແຕ່ລະບຸຂໍ້ມູນຊໍ້າຊ້ອນເທົ່າທີ່ເປັນໄປໄດ້. ຖ້າທ່ານພົບວ່າຕົວເອງຂຽນຫຼາຍ
ລະຫັດທີ່ຄ້າຍຄືກັນຫຼາຍທີ່ໃຊ້ເວລາ, ລະຫັດທັງຫມົດທີ່ອາດຈະໄດ້ຮັບການຜະລິດໂດຍ a
script Perl ງ່າຍດາຍ. ໂປເຊດເຊີ PDL C preprocessor ໃຊ້ເວລາອັນນີ້ໄປສູ່ຈຸດສູງສຸດ.
ເລັກນ້ອຍ ເປົ້າຫມາຍ ແລະ ຈຸດປະສົງ
ພວກເຮົາຕ້ອງການຄວາມໄວ. ດີທີ່ສຸດ, ໃນທີ່ສຸດມັນຄວນຈະເປັນໄປໄດ້ (ເຊັ່ນ: Perl compiler).
ເພື່ອລວບລວມ "PDL::PP" subs ກັບ C ແລະໄດ້ຮັບຄວາມໄວ vectorized ເທິງສຸດໃນ supercomputers.
ນອກຈາກນີ້, ພວກເຮົາຕ້ອງການທີ່ຈະສາມາດຄິດໄລ່ສິ່ງຕ່າງໆທີ່ຢູ່ໃກ້ກັບຄວາມໄວສູງສຸດຈາກພາຍໃນ Perl, ໂດຍໃຊ້
dataflow ເພື່ອຫຼີກເວັ້ນການຈັດສັນຫນ່ວຍຄວາມຈໍາແລະ deallocation (ສ່ວນເທິງຄວນຈະເປັນ
ພຽງແຕ່ພຽງເລັກນ້ອຍໃນໄລຍະຫນຶ່ງການໂທຫາຫນ້າທີ່ທາງອ້ອມບວກສອງ ifs ຕໍ່ຫນ້າທີ່ໃນ
ທໍ່).
Go ຫນຶ່ງ, ພະຍາຍາມ ມັນ!
ດີ, ນັ້ນແມ່ນປັດຊະຍາທີ່ຢູ່ເບື້ອງຫລັງ PDL - ຄວາມໄວ, ຄວາມສອດຄ່ອງ, ບໍ່ເສຍຄ່າ, ສາມາດຂະຫຍາຍໄດ້, ແລະ
ປະສົມປະສານກັບພື້ນຖານກວ້າງຂອງໂມດູນແລະຫ້ອງສະຫມຸດທີ່ Perl ສະຫນອງ. ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າກັບ
ດາວນ໌ໂຫລດມັນ, ການຕິດຕັ້ງມັນ, ດໍາເນີນການໂດຍຜ່ານການບາງ tutorials ແລະການແນະນໍາແລະມີ
ຫຼິ້ນກັບມັນ.
ມີຄວາມສຸກ!
ໃຊ້ PDL::Philosophyp ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net