سختی در اینجا بنظرم یعنی نیاز به یادگیری و سر و کله زدن با یکسری چیزهای جدید که بدرد اپلیکیشن نویسی روزمره هم نمیخوره.
اینا برنامه نویسیهای سطح پایین تر از اپلیکیشن نویسی محسوب میشن. درست نیست که نقص کتابخانه رو با ادعای شدنی بودن ایجاد فلان widget و غیره توجیه کنیم.
البته فکر نکن من نمیتونم یا میترسم از این کارا؛ اتفاقا برعکس چون زیاد با این چیزا سر و کله زدم و مفاهیم و بینش پایه ای رو که میخواستم بدست آوردم دیگه حال و حوصله ندارم کارای تکراری ملالت بار انجام بدم و وقت و انرژی ارزشمندم رو تلف بکنم. اگر یکی پول خوب بده واسه این کارا یه حرفی!! ولی من فکر میکنم راحتترین کار روتین استاندارد برای پول درآوردن همون اپلیکیشن نویسی باشه.
البته که ++C به عنوان یک زبان برای نوشتن برنامه‌های از نوع application و system است. اگر شک دارید که ++C بطور خاص برای نوشتن برنامه‌های کاربردی طراحی شده، می‌توانید در ویکی‌پدیا یا گوگل جستجو کنید. شاید به نظر شما نوشتن برنامه‌های application در آن سخت باشد، ولی ببینید که تا کنون چه مقدار از برنامه‌های کاربردی توسط آن نوشته شده است. زبان سی‌شارپ برای نوشتن برنامه‌های از نوع application و web به کار گرفته می‌شود. پس به لحاظ نوشتن برنامه‌های کاربردی (application) زبان‌های ++C و سی‌شارپ مشترک هستند (به لحاظ کاربرد البته).

چرا gtk دز مقابل qt عددی نیست؟
به لحاظ تنوع در امکانات کلی (فارق از GUI). چون Qt یک framework هست ولی Gtk یک تولکیت.

من نمونه کدهای GTK رو که از دوستان در مقابل کدهای Qt که خودم برای برنامه های کوچک نمونه نوشتم مطالعه کردم. در کدهای GTK مثلا تابعهای جداگانه و خارج از کلاس خاصی، یعنی در فضای گلوبال، برای تعریف اعمالی که مثلا برای پاسخ به فشرده شدن یک دکمه لازم هست تعریف و استفاده شده بودن. تمام امکانات شیء گرایی به اون صورتی که در سی++ هست در سی قابل شبیه سازی نیست.
این حرف متاسفانه قابل قبول نیست. همین ++C اولش C with Classes بوده