برنامهنویسی رایانهای: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
میم میم صاد (بحث | مشارکتها) جز ویرایش 151.242.187.144 (بحث) به آخرین تغییری که Fga.farshad انجام داده بود واگردانده شد برچسب: واگردانی |
FreshmanBot (بحث | مشارکتها) جز اصلاح فاصله مجازی + اصلاح نویسه با ویرایشگر خودکار فارسی |
||
خط ۱۶:
* [[پایایی برنامه|پایایی]]: این که یک برنامه چگونه اشکالاتی (نه [[باگ]]ها) را که ممکن است پیش بیایند، پیشبینی کردهاست. این شامل حالتهایی مانند دریافت اطلاعات نادرست، نامناسب یا غلط میشود؛ همچنین کمبود منابعی مانند حافظه، سرویسهای سیستم عامل یا اتصال به شبکه و سایر اشکالات مانند خطای کاربر یا اشکالات قطع برق نیز در این دسته قرار میگیرند.
* [[کاربردپذیری|کاربرد پذیری]]: [[ارگونومی]] یک برنامه: آسانی استفاده از برنامه برای شخصی که میخواهد از آن برای کار در نظر گرفته شدهاستفاده کند یا گاهی برای کارهای پیشبینی نشده آن را به کار برد. این مورد میتواند به تنهایی و علیرغم تمام موارد دیگر باعث موفقیت یا شکست شود. طیف وسیعی از عناصر متنی، تصویری و گاهی سختافزاری وجود دارند که میتوانند باعث ارتقای وضوح، درک، پیوستگی، کامل بودن واسط کاربری برنامه شوند.
* [[قابلیت انتقال]]: طیف [[سختافزار رایانه|سختافزارها]] و [[سیستمعامل|سیستم عاملهایی]] که کد منبع برنامه را بتوان روی آنها با [[کامپایلر|مترجم]] یا [[مفسر (رایانه)|مفسر]] اجرا کرد. این قابلیت بستگی به تفاوت در تسهیلاتی دارد که سیستمهای مختلف از نظر منابع سختافزاری و سیستم
* [[نگهداشتپذیری|نگهداشت پذیری]]: این که سازندگان و ارتقا دهندگان فعلی برنامه یا افراد دیگری در آینده بتوانند به راحتی ارتقاها یا تغییراتی در برنامه انجام دهند تا [[اشکال نرمافزاری|خطاها]] و [[آسیبپذیری (رایانه)|حفرههای امنیتی]] را رفع کنند یا بتوانند آن را برای محیط جدیدی تطبیق دهند. در این مورد تلاش مناسب اولیه<ref>{{Cite web|url=http://wisdomgeek.com/programming/tips-become-good-programmer/|title=Programming 101: Tips to become a good programmer - Wisdom Geek|date=2016-05-19|website=Wisdom Geek|language=en-US|access-date=2016-05-23}}</ref> در ایجاد برنامه است که نقش عمدهای بازی میکند. این خاصیت ممکن است تأثیر خیلی زیادی روی کاربر نهایی برنامه نداشته باشد ولی در بلند مدت برای سرنوشت یک برنامه خیلی مهم است.
* [[کارایی الگوریتمی|کارایی]] / [[مهندسی عملکرد|عملکرد]] :اندازهگیری منابع سیستمی مورد نیاز برای یک برنامه (زمان پردازنده، فضای حافظه، وسایل کند مثل دیسکها، پهنای باند شبکه و موارد دیگری مثل تعامل با کاربر): هر چقدر کمتر، بهتر. این خاصیت همچنین شامل مدیریت صحیح منابع مانند پاک کردن [[فایلهای موقت]] و از بین بردن [[کمبود حافظه|نشتیهای حافظه]] نیز میشود.
خط ۲۵:
خوانایی خیلی مهم است به این علت که برنامه نویسان بیشترین وقتشان را به جای این که صرف نوشتن کد جدید بکنند، در زمینه درک و تغییر کد منبع موجود میکنند. کدهای ناخوانا معمولاً به خطا، نارسایی و [[کدهای تکراری]] ختم میشوند. یک تحقیق<ref>James L. Elshoff, Michael Marcotty, [http://doi.acm.org/10.1145/358589.358596 Improving computer program readability to aid modification], Communications of the ACM, v.25 n.8, p.512-521, Aug 1982.</ref> نشان داد که تغییرات جزئی و سادهای برای خوانایی برنامه میتواند منجر به این شود که کد نهایی نوشته شده کوتاهتر شود و همچنین زمان فهم آن بهطور قابل توجهی کاهش یابد.
پیروی از یک سبک برنامهنویسی منسجم معمولاً به خوانایی کمک میکند؛ اگر چه خوانایی چیزی بیش از فقط سبک برنامهنویسی است. عوامل زیادی که معمولاً دخالتی در توانایی رایانه برای ترجمه مناسب و اجرای بهتر برنامه ندارند، به خوانایی کمک میکنند. بعضی از این عوامل
* بلوک بندی متفاوت (فاصله سفید)
* یادآورها
* تکهتکه کردن نوشتههای طولانی
* قواعد نامگذاری برای اشیا (مثل متغیرها، کلاسها،
جنبههای دیداری برای این کار (مثل تورفتگی، شکستن خطوط، علامتگذاری رنگی و مانند اینها) معمولاً به وسیله [[ویرایشگر کد منبع|ویرایشگر کد منبع]] فراهم میشود، اما جنبههای محتوایی بازتابی از استعداد و تواناییهای برنامهنویس است.
خط ۴۹:
روشهای اندازهگیری محبوبیت زبان شامل موارد زیر میباشد:
شمردن تعداد آگهیهای اشتغال و توجه به یک زبان، تعداد کتابهای آموزشی فروخته شده در مورد یک زبان، تخمین تعداد خطوط کد نوشته شده در یک زبان.
که میتوان با استفاده سوابق کاری ایجاد شده با نرمافزارهای برنامهنویسی
=== اشکال زدایی ===
خط ۶۴:
END
</source>
سطر نخست که با [[واژه کلیدی]] "REM" آغاز شده و از سوی برنامهٔ واسط
پس از نوشتن یک برنامه مانند بالا، برنامهٔ مترجم (در اینجا Basic) دستورها را تبدیل به فرامینی میکند که لایه زیرین، که ممکن است همان [[سختافزار]] باشد، میتواند آنها را ''اجرا'' کند.
خط ۷۳:
مقاله اصلی: [[پارادایم برنامهنویسی]]
زبانهای برنامهنویسی گوناگون براساس قابلیتهای
== زبانهای برنامهنویسی ==
|