நாம் தூய உகப்பாக்கலின் (Pure Optimization) கலையை இழந்துவிட்டோமா?

ஆரம்பகால பொறியாளர்கள் மிகச்சிறிய வரம்புகளுக்குள் பணியாற்றினர். அப்பல்லோ வழிகாட்டி கணினிக்கு (Apollo Guidance Computer) வெறும் 2KB RAM மட்டுமே இருந்தது. ஒவ்வொரு பிட்டும் (bit) முக்கியமானது. ஒவ்வொரு CPU சுழற்சியும் (cycle) மிக அவசியமானது.

இன்று, நம்மிடம் பல ஜிகாபைட் (gigabytes) நினைவகம் உள்ளது. நாம் பெரும்பாலும் கூடுதல் வன்பொருள்களை (hardware) சேர்ப்பதன் மூலம் சிக்கல்களைத் தீர்க்கிறோம். குறியீடு (code) மெதுவாகவோ அல்லது அதிக சுமையுடனோ இருந்தால், நாம் கூடுதல் RAM-ஐச் சேர்க்கிறோம். இந்த பழக்கம் தூய உகப்பாக்கலின் திறனை நாம் இழக்கச் செய்கிறது.

கட்டுப்பாடுகளைப் (constraints) பற்றி சிந்திப்பதன் மூலம் நீங்கள் சிறந்த மென்பொருளை எழுத முடியும்.

Python-இல் ஒரு பெரிய உரை கோப்பை (text file) நீங்கள் எவ்வாறு கையாளுகிறீர்கள் என்று பாருங்கள்.

பொதுவான முறை: பல மேம்பாட்டாளர்கள் (developers) ஒரு முழு கோப்பையும் ஒரே நேரத்தில் நினைவகத்திற்குள் (memory) ஏற்றுகின்றனர்.

உகப்பாக்கப்பட்ட முறை: கோப்பை ஒவ்வொரு வரியாகச் செயலாக்கவும்.

இந்த வேறுபாடு பொறியியல் தத்துவத்தைப் (engineering philosophy) பற்றியது.

கூடுதல் வளங்களைச் சேர்ப்பது ஒரு தற்காலிகத் தீர்வு மட்டுமே. இது பலவீனமான மென்பொருளை உருவாக்குகிறது. உங்கள் வடிவமைப்பைத் தீர்மானிக்கக் கட்டுப்பாடுகளைப் பயன்படுத்துவது வலுவான மென்பொருளை உருவாக்குகிறது.

உகப்பாக்கம் (Optimization) என்பது வேகத்தைப் பற்றியது மட்டுமல்ல. அது உங்கள் வளங்களைக் கவனத்துடன் கையாளுவதைப் பற்றியது.

நீங்கள் குறியீடு எழுதும்போது, உங்களிடமே கேட்டுக்கொள்ளுங்கள்:

சிறந்த மென்பொருள் ஒழுக்கத்திலிருந்து (discipline) உருவாகிறது.

ஆதாரம்: https://dev.to/prabashanadev/have-we-lost-the-art-of-pure-optimization-31b9