ساختار داده Stack در سی شارپ
استک نوعی از ساختار داده است که در آن داده ها به صورت ترتیبی روی هم قرار میگیرند.
عملیات Push آیتم جدیدی را به بالای توده اضافه میکند.
با عملیات Pop فقط می توان بالاترین آیتم را از توده خارج کرد. مثلا برای دسترسی به آیتم سوم ابتدا باید آیتمهای اول و دوم Pop شده باشند.
متد Peek امکان مشاهده آیتم اول بدون Pop شدن را فراهم میکند.
عملیات های Pop و Peek همیشه از جنس (1)O هستند. با فرض ثابت بودن ابعاد لیست عملیات Push هم (1)O است. به این ترتیب اضافه و حذف کردن آیتم به Stack خیلی سریع امکان پذیر است.
رفتار استک LIFO یا Last-In-First-Out خوانده میشود.
استک نوعی از ساختار داده است که در آن داده ها به صورت ترتیبی روی هم قرار میگیرند.
عملیات Push آیتم جدیدی را به بالای توده اضافه میکند.
با عملیات Pop فقط می توان بالاترین آیتم را از توده خارج کرد. مثلا برای دسترسی به آیتم سوم ابتدا باید آیتمهای اول و دوم Pop شده باشند.
متد Peek امکان مشاهده آیتم اول بدون Pop شدن را فراهم میکند.
عملیات های Pop و Peek همیشه از جنس (1)O هستند. با فرض ثابت بودن ابعاد لیست عملیات Push هم (1)O است. به این ترتیب اضافه و حذف کردن آیتم به Stack خیلی سریع امکان پذیر است.
رفتار استک LIFO یا Last-In-First-Out خوانده میشود.
آشنایی با سورس کنترل و مزایای آن
مهدی کرامتی
🔈 پادکست درباره سورس کنترل ها و مزایای آنها
• آشنایی با اصطلاحات رایج در کار با سورس کنترل ها
• آشنایی با مزایای استفاده از سورس کنترل ها
• آشنایی با پروتکل های TFS و GIT
• آشنایی با سرویس های آنلاین و On-Permises سورس کنترل
#مهدی_کرامتی
@barnamenes_org
@barnamenes_net
• آشنایی با اصطلاحات رایج در کار با سورس کنترل ها
• آشنایی با مزایای استفاده از سورس کنترل ها
• آشنایی با پروتکل های TFS و GIT
• آشنایی با سرویس های آنلاین و On-Permises سورس کنترل
#مهدی_کرامتی
@barnamenes_org
@barnamenes_net
آشنایی با ML.NET
فریم ورک ML.NET ابزاری برای Machine Learning در دات نت است که توسط مایکروسافت توسعه داده شده است. در این ویدیو با استفاده از ML.NET شانس زنده ماندن مسافران کشتی تایتانیک را پیش بینی می کنیم.
https://tinyurl.com/cdhk-mlnet
فریم ورک ML.NET ابزاری برای Machine Learning در دات نت است که توسط مایکروسافت توسعه داده شده است. در این ویدیو با استفاده از ML.NET شانس زنده ماندن مسافران کشتی تایتانیک را پیش بینی می کنیم.
https://tinyurl.com/cdhk-mlnet
Forwarded from DotNetZoom (محمد جواد ابراهیمی)
❇️ معرفی MagicOnion : یک فریمورک Realtime مبتنی بر gRPC و MessagePack
این فریمورک با استفاده از قابلیت HTTP/2 Streaming مبتنی بر gRPC و بهره گیری از MessagePack برای Serialization (همراه با LZ4 integration) بستری قدرتمند را برای ارتباطات Realtime فراهم میکند.
🔸یکی از مزایای این فریمورک عدم نیاز به فایلهای .proto مخصوص gRPC است چرا که از interface های سی شارپی برای به اشتراک گذاری امضای Endpointهای موجود بین Server و Client استفاده میکند.
🔹یکی از دیگر مزایای آن پشتیبانی از Swagger و داشتن Json Gateway توکار متبنی بر HTTP/1 است که به کمک آن میتوان به صورت Json/RESTful نیز APIها را فراخوانی کرد.
🔸همچنین این فریمورک از OpenTelemetry پشتیبانی کرده و میتوانید از برنامههای مانیتورینگ مانند Prometheus و StackDriver و Zipkin و... بر روی پروژه خود استفاده کنید و یا توسط Grafana یک داشبورد مانیتورینگ ویژوال و Realtime ایجاد کنید.
🔹این فریمورک ابزار مناسبی جهت ارتباطات بین Microserviceها میباشد.
🔸همچنین جایگزین مناسبی برای سرویسهای API based مانند ASP.NET Core WebAPI و WCF بوده و نیز جایگزین مناسبی برای SignalR و Socket.io جهت ارتباطات Realtime میباشد.
🔰ریپازیتوری MagicOnion
https://github.com/Cysharp/MagicOnion
اطلاعات بیشتر
https://medium.com/@neuecc/magiconion-unified-realtime-api-engine-for-net-core-and-unity-21e02a57a3ff
_______________
@DotNetZoom
این فریمورک با استفاده از قابلیت HTTP/2 Streaming مبتنی بر gRPC و بهره گیری از MessagePack برای Serialization (همراه با LZ4 integration) بستری قدرتمند را برای ارتباطات Realtime فراهم میکند.
🔸یکی از مزایای این فریمورک عدم نیاز به فایلهای .proto مخصوص gRPC است چرا که از interface های سی شارپی برای به اشتراک گذاری امضای Endpointهای موجود بین Server و Client استفاده میکند.
🔹یکی از دیگر مزایای آن پشتیبانی از Swagger و داشتن Json Gateway توکار متبنی بر HTTP/1 است که به کمک آن میتوان به صورت Json/RESTful نیز APIها را فراخوانی کرد.
🔸همچنین این فریمورک از OpenTelemetry پشتیبانی کرده و میتوانید از برنامههای مانیتورینگ مانند Prometheus و StackDriver و Zipkin و... بر روی پروژه خود استفاده کنید و یا توسط Grafana یک داشبورد مانیتورینگ ویژوال و Realtime ایجاد کنید.
🔹این فریمورک ابزار مناسبی جهت ارتباطات بین Microserviceها میباشد.
🔸همچنین جایگزین مناسبی برای سرویسهای API based مانند ASP.NET Core WebAPI و WCF بوده و نیز جایگزین مناسبی برای SignalR و Socket.io جهت ارتباطات Realtime میباشد.
🔰ریپازیتوری MagicOnion
https://github.com/Cysharp/MagicOnion
اطلاعات بیشتر
https://medium.com/@neuecc/magiconion-unified-realtime-api-engine-for-net-core-and-unity-21e02a57a3ff
_______________
@DotNetZoom
Medium
MagicOnion — Unified Realtime/API Engine for .NET Core and Unity
It has been a while. Since my last post, I have been working on and created many things. Now that it is 2019, I would like to start…
پایان فعالیت مجله MSDN
مجله ی تخصصی MSDN که توسط مایکروسافت منتشر میشد تعطیل شد.
این مجله به مدت 33 سال هر ماه منتشر میشد و شامل مقالات متعددی در حوزه ی برنامه نویسی در محصولات مایکروسافت از جمله سی شارپ ، دات نت بود.
ماه گذشته مایکروسافت اعلام کرد انتشار این مجله را از پایان 2019 متوقف خواهد کرد.
هرچند مایکروسافت دلیل خاصی برای تعطیل کردن مجله اعلام نکرده است اما سال گذشته با آپدیت بخش بلاگهای سایت مایکروسافت و بهبود قسمت DevBlogs مقالات تخصصی را در این بخش منتشر میکند و در سایت مجله MSDN هم کاربران به بخش جدید Learning ارجاع داده میشوند.
مجله ی تخصصی MSDN که توسط مایکروسافت منتشر میشد تعطیل شد.
این مجله به مدت 33 سال هر ماه منتشر میشد و شامل مقالات متعددی در حوزه ی برنامه نویسی در محصولات مایکروسافت از جمله سی شارپ ، دات نت بود.
ماه گذشته مایکروسافت اعلام کرد انتشار این مجله را از پایان 2019 متوقف خواهد کرد.
هرچند مایکروسافت دلیل خاصی برای تعطیل کردن مجله اعلام نکرده است اما سال گذشته با آپدیت بخش بلاگهای سایت مایکروسافت و بهبود قسمت DevBlogs مقالات تخصصی را در این بخش منتشر میکند و در سایت مجله MSDN هم کاربران به بخش جدید Learning ارجاع داده میشوند.
متد GetHashCode در دات نت
در دات نت همه ی Object ها دارای متدی به نام GetHashCode هستند.
این متد از روی محتوای Object یک عدد از جنس int تولید میکند. از HashCode برای مقایسه و دسته بندی Object ها درون Collection هایی مثل HashSet استفاده میشود.
نکته مهم این است که وقتی دو Object رفرنس یکسانی داشته باشند (یکی به دیگری نسبت داده شده باشد) همیشه HashCode یکسانی دارند. اما عکس این قضیه صادق نیست.
نمی توان با مقایسه دو HashCode نتیجه گرفت که Object آنها یکسان است. تابعی که HashCode را تولید می کند ممکن است برای دو شی کاملا متفاوت عدد یکسانی برگرداند. از آنجا که رنج int محدود است و همیشه شانس تکراری درآمدن آن برای دو شی متفاوت وجود دارد.
به تولید شدن HashCode تکراری اصطلاحا Collision یا برخورد گفته میشود. که تحلیل و کنترل آن در Collection هایی مثل HashSet اهمیت زیادی دارد.
در دات نت همه ی Object ها دارای متدی به نام GetHashCode هستند.
این متد از روی محتوای Object یک عدد از جنس int تولید میکند. از HashCode برای مقایسه و دسته بندی Object ها درون Collection هایی مثل HashSet استفاده میشود.
نکته مهم این است که وقتی دو Object رفرنس یکسانی داشته باشند (یکی به دیگری نسبت داده شده باشد) همیشه HashCode یکسانی دارند. اما عکس این قضیه صادق نیست.
نمی توان با مقایسه دو HashCode نتیجه گرفت که Object آنها یکسان است. تابعی که HashCode را تولید می کند ممکن است برای دو شی کاملا متفاوت عدد یکسانی برگرداند. از آنجا که رنج int محدود است و همیشه شانس تکراری درآمدن آن برای دو شی متفاوت وجود دارد.
به تولید شدن HashCode تکراری اصطلاحا Collision یا برخورد گفته میشود. که تحلیل و کنترل آن در Collection هایی مثل HashSet اهمیت زیادی دارد.
Forwarded from اِسکیلی Skilly (مهدی کرامتی)
🔈 کد تخفیف ویژه یلدا 98، قابل استفاده برای کلیه پکیج های آموزش ویدئویی
درصد تخفیف: 40%
کد تخفیف: Yalda98
مهلت استفاده تا 1398/10/4 ساعت 12 شب
https://barnamenevis.net
@barnamenevis_net
@barnamenevis_org
درصد تخفیف: 40%
کد تخفیف: Yalda98
مهلت استفاده تا 1398/10/4 ساعت 12 شب
https://barnamenevis.net
@barnamenevis_net
@barnamenevis_org
آشنایی با الگوریتم Hi/Lo
معمولا کلید اصلی توسط دیتابیس ساخته میشود اما برای بدست آوردن آن اطلاعات رکورد ابتدا باید در دیتابیس ذخیره شود.
گاهی لازم است پیش از ذخیره سازی کلید اصلی در دسترس باشد در این موارد می توان از الگوریتم Hi/Lo استفاده کرد.
https://cutt.ly/4rwlwyq
معمولا کلید اصلی توسط دیتابیس ساخته میشود اما برای بدست آوردن آن اطلاعات رکورد ابتدا باید در دیتابیس ذخیره شود.
گاهی لازم است پیش از ذخیره سازی کلید اصلی در دسترس باشد در این موارد می توان از الگوریتم Hi/Lo استفاده کرد.
https://cutt.ly/4rwlwyq
Forwarded from کدهک
اپ فال حافظ که در ASP Core با تکنیک PWA پیاده شده:
برنامه به صورت آفلاین هم کار میکنه
به هوم اسکرین گوشی اضافه میشه
بدون مرورگر اجرا میشه
https://codehaks.com/yalda
برنامه به صورت آفلاین هم کار میکنه
به هوم اسکرین گوشی اضافه میشه
بدون مرورگر اجرا میشه
https://codehaks.com/yalda
Forwarded from کدهک
در این ویدیو به معرفی اپ فال حافظ می پردازیم که با تکنیک Progressive web app تهیه شده و می توانید آن را به هوم اسکرین گوشی اضافه کنید و به صورت آفلاین استفاده کنید.
https://goo.gl/fwJd5d
https://goo.gl/fwJd5d
Forwarded from کدهک
فروش ویژه
مرجع کامل آموزش ASP NET Core با 50% تخفیف ویژه یلدا
این دوره با مجموع 34 ساعت آموزش تخصصی ASP NET Core و به همراه یک سال اشتراک ویژه سایت کدهک عرضه میشود.
کد تخفیف : yalda
https://tinyurl.com/cdhk-yalda98
امکان خرید از طریق درگاه آنلاین یا کارت به کارت وجود دارد.
کد تخفیف 24 ساعت دیگر تمدید شد.
مرجع کامل آموزش ASP NET Core با 50% تخفیف ویژه یلدا
این دوره با مجموع 34 ساعت آموزش تخصصی ASP NET Core و به همراه یک سال اشتراک ویژه سایت کدهک عرضه میشود.
کد تخفیف : yalda
https://tinyurl.com/cdhk-yalda98
امکان خرید از طریق درگاه آنلاین یا کارت به کارت وجود دارد.
کد تخفیف 24 ساعت دیگر تمدید شد.
Forwarded from کدهک
ویدیو :
آشنایی با موتور V8
مقایسه ی سی شارپ و جاوا اسکریپت
مقایسه پرفورمنس Node و ASP Core
http://tinyurl.com/yy36a8e7
آشنایی با موتور V8
مقایسه ی سی شارپ و جاوا اسکریپت
مقایسه پرفورمنس Node و ASP Core
http://tinyurl.com/yy36a8e7
آشنایی با Docker
داکر ابزاری برای توزیع و اجرای نرم افزار است که مشکل سازگاری با سیستم عامل های مختلف را حل میکند. این ابزار امروزه همه جا مورد استفاده قرار میگیرد و خوب است به عنوان توسعه دهنده ی نرم افزار درباره آن بیشتر بدانید. در این ویدیو به معرفی داکر می پردازیم و در ادامه از Docker در یک پروژه ASP NET Core استفاده می کنیم.
https://cutt.ly/ortrfXx
داکر ابزاری برای توزیع و اجرای نرم افزار است که مشکل سازگاری با سیستم عامل های مختلف را حل میکند. این ابزار امروزه همه جا مورد استفاده قرار میگیرد و خوب است به عنوان توسعه دهنده ی نرم افزار درباره آن بیشتر بدانید. در این ویدیو به معرفی داکر می پردازیم و در ادامه از Docker در یک پروژه ASP NET Core استفاده می کنیم.
https://cutt.ly/ortrfXx
آشنایی با Docker - قسمت دوم
در این ویدیو با استفاده از Docker دیتابیس Redis رو نصب و اجرا می کنیم
سپس از پروژه ASP NET Core یک Image داکر تهیه می کنیم.
https://tinyurl.com/cdhk-docker2
در این ویدیو با استفاده از Docker دیتابیس Redis رو نصب و اجرا می کنیم
سپس از پروژه ASP NET Core یک Image داکر تهیه می کنیم.
https://tinyurl.com/cdhk-docker2
Podcast - Episode2
Codehaks
پادکست کدهک - قسمت دوم
در این شماره می شنوید :
1- رکورد بازی سوپر ماریو
2- محیط کاری گیتهاب
3- برنامه نویسی چند زبانه
4- پیشنهاد سه زبان برای یادگرفتن در 2020
در این شماره می شنوید :
1- رکورد بازی سوپر ماریو
2- محیط کاری گیتهاب
3- برنامه نویسی چند زبانه
4- پیشنهاد سه زبان برای یادگرفتن در 2020
یک Immutable Object بعد از مقدار دهی اولیه دیگر قابل تغییر نیست و فقط میتوان آن را از حافظه حذف کرد.
در زبان #C متغیرهای از نوع String به عنوان اشیای Immutable شناخته میشوند. در زمان اجرای برنامه می توانید مقدار یک متغیر رشته ای را عوض کنید اما در عمل مقدار متغیر در حافظه عوض نمیشود بلکه در حافظه یک فضای جدید برای نگه داری رشته ی جدید ایجاد میشود. این موضوع کار کردن با رشته ها را بسیار پر هزینه میکند. با هر تغییر یک رشته بخشی از حافظه اشغال میشود و اگر زیاد اینکار را انجام دهید حافظه سر ریز میشود.
در دات نت این حافظه های پسماند توسط Garbage Collection خالی میشود که می تواند باعث کندی برنامه شود. برای حل این مشکل می توانید از StringBuilder استفاده کنید.
یکی از مهمترین مزیت های استفاده از متغیرهای تغییر ناپذیر این است که Thread-safe هستند و کار کردن با آنها در فضای چند نخی ساده تر است.
در زبان #C متغیرهای از نوع String به عنوان اشیای Immutable شناخته میشوند. در زمان اجرای برنامه می توانید مقدار یک متغیر رشته ای را عوض کنید اما در عمل مقدار متغیر در حافظه عوض نمیشود بلکه در حافظه یک فضای جدید برای نگه داری رشته ی جدید ایجاد میشود. این موضوع کار کردن با رشته ها را بسیار پر هزینه میکند. با هر تغییر یک رشته بخشی از حافظه اشغال میشود و اگر زیاد اینکار را انجام دهید حافظه سر ریز میشود.
در دات نت این حافظه های پسماند توسط Garbage Collection خالی میشود که می تواند باعث کندی برنامه شود. برای حل این مشکل می توانید از StringBuilder استفاده کنید.
یکی از مهمترین مزیت های استفاده از متغیرهای تغییر ناپذیر این است که Thread-safe هستند و کار کردن با آنها در فضای چند نخی ساده تر است.
Forwarded from برنامه نویس
🔈 💰 کاهش قیمت های پکیج های آموزش ویدئویی برنامه نویس
سلام.
ضمن تبریک سال نوی میلادی به هم وطنان مسیحی، به اطلاع می رساند با توجه به وضعیت نامناسب اقتصادی و کاهش قدرت خرید عموم اقشار جامعه، تصمیم به کاهش قیمت پکیج های آموزشی برنامه نویس گرفتیم تا مشکل در هزینه کرد، مانعی برای پیشرفت علاقه مندان نباشد.
پکیج هایی که شامل این کاهش قیمت شده اند عبارتند از:
• پکیج آموزش Angular 8 - سطح 1
• پکیج آموزش ASP.NET Core 2.2 - سطح 1
• پکیج آموزش ASP.NET Core 2.2 - سطح 2
• پکیج آموزش ASP.NET Core 2.2 - سطح 3
• پکیج آموزش API نویسی اصولی و حرفه ای در ASP.NET Core
• پکیج آموزش ASP.NET MVC - سطح 1
• پکیج آموزش ASP.NET MVC - سطح 2
• پکیج آموزش ASP.NET MVC - سطح 3
• پکیج آموزش Permission Control System در ASP.NET MVC
• پکیج آموزش سی شارپ - سطح 1
همانند همیشه، می توانید نظرات و پیشنهادات خود را با شناسه تلگرام ما در میان بگذارید.
ارادتمند،
#مهدی_کرامتی
@barnamenevis_net
@barnamenevis_org
https://barnamenevis.net
https://barnamenevis.org
سلام.
ضمن تبریک سال نوی میلادی به هم وطنان مسیحی، به اطلاع می رساند با توجه به وضعیت نامناسب اقتصادی و کاهش قدرت خرید عموم اقشار جامعه، تصمیم به کاهش قیمت پکیج های آموزشی برنامه نویس گرفتیم تا مشکل در هزینه کرد، مانعی برای پیشرفت علاقه مندان نباشد.
پکیج هایی که شامل این کاهش قیمت شده اند عبارتند از:
• پکیج آموزش Angular 8 - سطح 1
• پکیج آموزش ASP.NET Core 2.2 - سطح 1
• پکیج آموزش ASP.NET Core 2.2 - سطح 2
• پکیج آموزش ASP.NET Core 2.2 - سطح 3
• پکیج آموزش API نویسی اصولی و حرفه ای در ASP.NET Core
• پکیج آموزش ASP.NET MVC - سطح 1
• پکیج آموزش ASP.NET MVC - سطح 2
• پکیج آموزش ASP.NET MVC - سطح 3
• پکیج آموزش Permission Control System در ASP.NET MVC
• پکیج آموزش سی شارپ - سطح 1
همانند همیشه، می توانید نظرات و پیشنهادات خود را با شناسه تلگرام ما در میان بگذارید.
ارادتمند،
#مهدی_کرامتی
@barnamenevis_net
@barnamenevis_org
https://barnamenevis.net
https://barnamenevis.org
از یک فستفود در فاصله ی 10 کیلومتری پیتزا سفارش میدهید. اگر پیتزا از قبل آماده ارسال باشد و پیک هم با سرعت 100 کیلومتر بر ساعت حرکت کند حداقل 6 دقیقه طول میکشد تا پیتزا به دست شما برسد و 12 دقیقه طول میکشد تا فستفود از تحویل باخبر شود.
تاخیر یا Latency : مدت زمانی که طول میکشد داده از نقطه ی A به B برسد Latency گفته میشود. از آنجا که فاصله همیشه وجود دارد تاخیر اجتناب ناپذیز است.
پهنای باند یا Bandwidth: پیک هربار فقط می تواند 5 پیتزا با خود حمل کند. اگر شما 20 پیتزا سفارش دهید باید 4 بار رفت و آمد کند.
در سال 1996 آقای Stuart Cheshire مقاله ای منتشر کرد با عنوان "Its latency stupid" و در آن مشکل شبکه های اینترنتی را Latency دانست و نه پهنای باند. همیشه میشود پهنای باند را افزایش داده اما نمی توان تاخیر زمانی بین دو نقطه را از بین برد.حتی اگر داده با سرعت نور حرکت کند همیشه تاخیر وجود دارد.
مشکل Latency چالش اصلی سرویس های Real-time مانند بازیهای آنلاین است. برای کاهش آن میتوان از سروری که در موقعیت فیزیکی نزدیک تری دارد استفاده کرد.
تاخیر یا Latency : مدت زمانی که طول میکشد داده از نقطه ی A به B برسد Latency گفته میشود. از آنجا که فاصله همیشه وجود دارد تاخیر اجتناب ناپذیز است.
پهنای باند یا Bandwidth: پیک هربار فقط می تواند 5 پیتزا با خود حمل کند. اگر شما 20 پیتزا سفارش دهید باید 4 بار رفت و آمد کند.
در سال 1996 آقای Stuart Cheshire مقاله ای منتشر کرد با عنوان "Its latency stupid" و در آن مشکل شبکه های اینترنتی را Latency دانست و نه پهنای باند. همیشه میشود پهنای باند را افزایش داده اما نمی توان تاخیر زمانی بین دو نقطه را از بین برد.حتی اگر داده با سرعت نور حرکت کند همیشه تاخیر وجود دارد.
مشکل Latency چالش اصلی سرویس های Real-time مانند بازیهای آنلاین است. برای کاهش آن میتوان از سروری که در موقعیت فیزیکی نزدیک تری دارد استفاده کرد.
پایان عمر Python 2.7
طبق اعلام رسمی تیم توسعه Python با شروع سال 2020 میلادی نسخه ی 2 این زبان برنامه نویسی دیگر پشتیبانی نمیشود و آپدیت جدیدی دریافت نخواهد کرد.
به همه ی برنامه نویسان پایتون توصیه شده هرچه سریعتر به نسخه 3.0 و بالاتر مهاجرت کنند.
نسخه ی 2.0 پایتون در ابتدای سال 2000 منتشر شد اما بازهم نیاز به تغییرات جدی داشت تا در سال 2006 نسخه 3.0 آن معرفی شد.
ابتدا قرار بود پایتون 2.0 در سال 2015 از پشتیبانی خارج شود اما تا سال 2020 به تاخیر افتاد.
طبق اعلام رسمی تیم توسعه Python با شروع سال 2020 میلادی نسخه ی 2 این زبان برنامه نویسی دیگر پشتیبانی نمیشود و آپدیت جدیدی دریافت نخواهد کرد.
به همه ی برنامه نویسان پایتون توصیه شده هرچه سریعتر به نسخه 3.0 و بالاتر مهاجرت کنند.
نسخه ی 2.0 پایتون در ابتدای سال 2000 منتشر شد اما بازهم نیاز به تغییرات جدی داشت تا در سال 2006 نسخه 3.0 آن معرفی شد.
ابتدا قرار بود پایتون 2.0 در سال 2015 از پشتیبانی خارج شود اما تا سال 2020 به تاخیر افتاد.