🧑‍💻Cyber.vision🧑‍💻
467 subscribers
170 photos
12 videos
20 files
145 links
Python tips and tricks
The Good, Bad and the Ugly
متخصص امنیت شبکه های کنترل صنعتی
👨‍💻این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی این چند سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)
https://t.me/Hacker0x01
Download Telegram
🌐 برنامه‌نویسی سطح بالا و سطح پایین 🌐:

برنامه‌نویسی سطح بالا (High-level programming)

مثل زبان‌هایی که ما معمولاً می‌نویسیم و می‌خونیم (مثل Python، Java و C++) به انسان‌ها نزدیک‌تر هستند و با جملات و عبارات قابل فهمی نوشته می‌شن. این زبان‌ها خیلی از جزییات سخت‌افزاری مثل مدیریت حافظه یا کار با CPU رو از کاربر پنهان می‌کنن و همین باعث می‌شه که برنامه‌نویسی باهاشون ساده‌تر باشه.
مثال:
print("Hello, World!")

همین یک خط کد، به سادگی پیام "Hello, World!" رو چاپ می‌کنه.

برنامه‌نویسی سطح پایین (Low-level programming)

بیشتر به زبانی نزدیکه که کامپیوتر‌ها متوجه می‌شن؛ مثل اسمبلی (Assembly) یا حتی زبان ماشین (Machine Language). توی این زبان‌ها باید دقیقاً مشخص کنیم که چی داره توی CPU و حافظه اتفاق می‌افته و این کدها معمولاً بسیار پیچیده‌تر و دشوارترند.
مثال (Assembly):

MOV AH, 09
MOV DX, OFFSET message
INT 21H

این قطعه کد در زبان اسمبلی، به سخت‌افزار مستقیم دستور می‌ده تا متنی رو چاپ کنه.

حالا برنامه‌نویسی پویا چیه؟ 🤔

برنامه‌نویسی پویا (Dynamic Programming Language) یک نوع از زبان‌های برنامه‌نویسی سطح بالاست که انعطاف‌پذیرتره و خیلی از تصمیمات و رفتارها رو در زمان اجرای برنامه می‌گیره، نه در زمان کامپایل. این یعنی شما می‌تونید در طول اجرای برنامه، ساختارهای داده‌ها یا حتی خود کد رو تغییر بدید!

زبان‌های پویایی مثل Python یا JavaScript به برنامه‌نویس اجازه می‌دن تا بدون نیاز به مشخص کردن نوع داده‌ها از قبل (مثل int یا string)، کد بنویسن. این باعث می‌شه که نوشتن و تغییر کد سریع‌تر و راحت‌تر بشه.
یک مثال از برنامه‌نویسی پویا:

این کد به طور خودکار نوع متغیرها رو تشخیص می‌ده و به کاربر اجازه می‌ده تا در حین اجرای برنامه با نوع‌های مختلف کار کنه:
x = 10
print(x)

x = "Hello"
print(x)
همون‌طور که می‌بینید، متغیر x اول یک عدد بود و بعد به یک رشته تبدیل شد، بدون اینکه لازم باشه ما نوعش رو به طور صریح تغییر بدیم. این یکی از ویژگی‌های جالب زبان‌های پویاست! 🎯

منابع 📚:

Wikipedia: Dynamic Programming Language
GeeksforGeeks: High Level vs Low Level Programming Languages
RealPython: Python Type System

#DynamicProgramming
#ProgrammingLanguages
#HighLevelLanguages
#LowLevelLanguages
#PythonCoding
#JavaScriptProgramming
#LearnToCode
#SoftwareDevelopment