انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: نظرتون در مورد زبان D چیه؟  (دفعات بازدید: 1823 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین مجتبی باغبان

  • Hero Member
  • *
  • ارسال: 780
  • جنسیت : پسر
نظرتون در مورد زبان D چیه؟
« : 30 آذر 1391، 03:55 ب‌ظ »
یه تایپیک تو همین سایت در مورد زبان D دیدم و ازش خوشم اومد. سینتکس راحت‌تری نسبت به C++ داره و جمع‌آوری حافظه رو خودش انجام می‌ده. می‌خواستم نظرتون رو در موردش بدونم  و چندتا سوال؟
آیا میشه از کتابخانه‌های زبان C تو این زبان استفاده کرد؟
چه فریمورکهایی واسه این زبان وجود داره؟
پشتیبانیه فریمورک Qt از این زبان در چه حده؟
دلیل عدم محبوبیتش چیه؟
ممنون از جواباتون

آفلاین امید توانا

  • Hero Member
  • *
  • ارسال: 981
  • جنسیت : پسر
پاسخ : نظرتون در مورد زبان D چیه؟
« پاسخ #1 : 30 آذر 1391، 06:44 ب‌ظ »
یه تایپیک تو همین سایت در مورد زبان D دیدم و ازش خوشم اومد. سینتکس راحت‌تری نسبت به C++ داره و جمع‌آوری حافظه رو خودش انجام می‌ده. می‌خواستم نظرتون رو در موردش بدونم  و چندتا سوال؟
آیا میشه از کتابخانه‌های زبان C تو این زبان استفاده کرد؟
چه فریمورکهایی واسه این زبان وجود داره؟
پشتیبانیه فریمورک Qt از این زبان در چه حده؟
دلیل عدم محبوبیتش چیه؟
ممنون از جواباتون
جواب هیچ‌کدوم از سوالهات رو نمی‌دونم، چون من برنامه‌نویس نیستم. ولی دیشب اولین برنامه‌ام به زبان D رو نوشتم که برنامه وزیرهای شطرنج بود. اولین چیزی که به نظرم جالب بود اینه که آرایه‌ها رو می‌شه پویا تعریف کرد (یعنی در زمان اجرا سایزشون رو تغییر داد). این کار به نظرم در C++ قابل انجام نیست و برای کار مشابه باید مثلا از بردارها استفاده کرد. برنامه در زیر آورده شده.
import std.stdio, std.math;
bool hit (ushort[] propose, ushort col){//The hit function checks if the queen in the $col$-th column hits any queens in previous columns ($0...col-1$).
foreach (i; 0..col)
if (propose[col]-propose[i]==0 || abs(propose[col]-propose[i])==col-i) return true;
return false;
}
int main() {
ulong counter;
ushort numberofqueens;
ushort row;
ushort column;
writeln("This D program solves the Queen Problem for any number of queens by backtraking. Any solution is of the form (for example)\n92\t[8, 4, 1, 3, 6, 2, 7, 5]\nwhere 92 is the counter and the array means that queens in columns 1 and 2 are located in rows 8 and 4, respectively.\nPlease enter the number of queens:");
readf("%s", &numberofqueens);
ushort[] board = new ushort[numberofqueens];
if (numberofqueens == 1) {writeln(1,"\t",board); return 0;}
while (column < numberofqueens) {
while (row <= numberofqueens){
row++;
board[column] = row;
if (!hit(board,column)) {
if (column == numberofqueens-1) {//then current queen is a solution
counter++; writefln("%s\t%s",counter,board);//writing the solution
if (row == numberofqueens) column--;//if the last queen is at the last row, we need to backtrack
row = board[column];//and continue
}
else {//we need to go to the next column and start from row 0
row = 0;
column++;
break;
}
}
else {//when hit(board,column)
if (row == numberofqueens) {//we reached the last row, so we must backtrack
column--;
if (board[column] == numberofqueens) {//if the previous queen is also at the last row, we need to backtrack again (if possible) else we are done
if (column > 0) column--;
else return 0;
}
row = board[column];//now we need to find the row of the previous queen again
break;
}
}
}//end of while row
}//end of while column
return 1;
}

« آخرین ویرایش: 30 آذر 1391، 11:38 ب‌ظ توسط omidtavana »

آفلاین سید مسعود امامیان

  • Hero Member
  • *
  • ارسال: 951
پاسخ : نظرتون در مورد زبان D چیه؟
« پاسخ #2 : 30 آذر 1391، 09:52 ب‌ظ »
نقل‌قول
این کار به نظرم در C++ قابل انجام نیست

خب الان در سی++ آرایه پویا در نظر گرفته میشه:

type *name;

name = new type[ Your Number ];

برای مثال از نوع int :
int* a = NULL;  .
int n;           
cin >> n;       
a = new int[n];
به عمل کار برآید     به سخندانی نیست . . .

آفلاین !

  • High Sr. Member
  • *
  • ارسال: 586
  • جنسیت : پسر
  • Don't Panic!
    • مانیتورینگ سایت
پاسخ : نظرتون در مورد زبان D چیه؟
« پاسخ #3 : 01 دی 1391، 10:12 ق‌ظ »
سی ++ یخورده دیگه چیز شده.
جاوا رو همیشه ترجیح میدادم.راجع به D هم چیزی نمیدونم  :oops:
I just felt like running

Altern AI Directory --- GitHub

آفلاین سید مسعود امامیان

  • Hero Member
  • *
  • ارسال: 951
پاسخ : نظرتون در مورد زبان D چیه؟
« پاسخ #4 : 01 دی 1391، 10:14 ق‌ظ »
سی ++ یخورده دیگه چیز شده.
جاوا رو همیشه ترجیح میدادم.راجع به D هم چیزی نمیدونم  :oops:

سی ++ چی شده ؟  :D
به عمل کار برآید     به سخندانی نیست . . .

آفلاین aliva

  • Sr. Member
  • *
  • ارسال: 363
  • جنسیت : پسر
    • http://vakilzade.ir
پاسخ : نظرتون در مورد زبان D چیه؟
« پاسخ #5 : 07 دی 1391، 08:12 ب‌ظ »
این پست توی stack رو ببین جالبه

http://stackoverflow.com/questions/743319/why-isnt-the-d-language-picking-up