தொழில்நுட்பங்களை மீண்டும் உருவாக்குவதன் மூலம் நிரலாக்கத்தில் (Programming) தேர்ச்சி பெறுங்கள்

APIs-களைப் பயன்படுத்துவதை நிறுத்திவிட்டு, அவற்றை உருவாக்கத் தொடங்குங்கள்.

பெரும்பாலான டெவலப்பர்கள் ஒவ்வொரு நாளும் frameworks மற்றும் libraries-களைப் பயன்படுத்துகிறார்கள். இந்தத் கருவிகள் வேலையை விரைவுபடுத்துகின்றன. ஆனால், மென்பொருள் எவ்வாறு செயல்படுகிறது என்பதை இவை மறைத்துவிடுகின்றன. நீங்கள் முடிவை மட்டுமே பார்க்கிறீர்கள், ஆனால் அதன் பின்னணியில் உள்ள தர்க்கத்தை (logic) தவறவிடுகிறீர்கள்.

'build-your-own-x' முறை இதை மாற்றுகிறது. ஆழமான கருத்துக்களைக் கற்றுக்கொள்ள நீங்கள் கருவிகளை ஆரம்பத்திலிருந்து (from scratch) மீண்டும் உருவாக்குகிறீர்கள். நீங்கள் இதைத் தயாரிப்புப் பயன்பாட்டிற்காக (production) செய்வதில்லை; கற்றுக்கொள்வதற்காகச் செய்கிறீர்கள்.

அடிப்படையிலிருந்து கருவிகளை உருவாக்குவது உங்களுக்குப் பின்வருவனவற்றிற்கு உதவுகிறது:

  • சிக்கலான அமைப்புகளைப் புரிந்துகொள்ள உதவுகிறது. protocols மற்றும் data structures எவ்வாறு செயல்படுகின்றன என்பதை நீங்கள் கற்றுக்கொள்கிறீர்கள்.
  • சிக்கலைத் தீர்க்கும் திறனை மேம்படுத்துகிறது. பெரிய சிக்கல்களைச் சிறிய பகுதிகளாகப் பிரிக்கப் பழகுகிறீர்கள்.
  • அடிப்படைகளைக் கற்றுக்கொள்ள உதவுகிறது. memory management மற்றும் algorithms ஆகியவற்றில் நீங்கள் தேர்ச்சி பெறுகிறீர்கள்.
  • தன்னம்பிக்கையை வளர்க்கிறது. அந்தத் தொழில்நுட்பத்தை நீங்கள் புரிந்துவிட்டீர்கள் என்பதை உங்களுக்கே நிரூபிக்கிறீர்கள்.
  • சிறந்த முறையில் பிழைகளைத் திருத்த (debug) உதவுகிறது. அமைப்புகளை நீங்களே உருவாக்கியதால், அவை எங்கே தோல்வியடைகின்றன என்பதை நீங்கள் அறிவீர்கள்.

சிறிய திட்டங்களுடன் தொடங்குங்கள். நீங்கள் அடிக்கடி பயன்படுத்தும் ஒன்றைத் தேர்ந்தெடுங்கள்.

தொடக்கநிலையாளர்களுக்கான திட்ட யோசனைகள்:

  • ஒரு சிறிய HTTP server: sockets மற்றும் routing பற்றித் தெரிந்துகொள்ளலாம்.
  • ஒரு எளிய CLI shell: process execution பற்றித் தெரிந்துகொள்ளலாம்.
  • ஒரு அடிப்படை key-value store: file I/O மற்றும் hash tables பற்றித் தெரிந்துகொள்ளலாம்.
  • ஒரு Markdown parser: parsing மற்றும் syntax trees பற்றித் தெரிந்துகொள்ளலாம்.
  • ஒரு version control system: hashing மற்றும் diffing பற்றித் தெரிந்துகொள்ளலாம்.

ஒரு திட்டத்தைத் தேர்ந்தெடுத்து இன்றே தொடங்குங்கள்.

Source: https://dev.to/kelvin_kariuki_20f4bec616/master-programming-by-recreating-your-favorite-technologies-from-scratch-1h8