تقلید در مذهب شیعه
تقلید در مذهب شیعه
تقلید در مذهب شیعه از عصر امامان آغاز شد. آنان پیروانشان را به راویان حدیث یا یاران نزدیک خود، ارجاع میدادند و گاهی یاران خود را به حضور در مساجد و مراکز عمومی برای فتوادادن و ارشاد مردم تشویق مینمودند. ظهور تقلید در عصر امامان و تشویق آنان به این امر، بعلت فاصلهٔ زیاد میان شهرها، فراهم نبودن امکانات ضروری برای مسافرت مردم و در نتیجه دشواری دسترسی به امام یا دسترسی نداشتن به وی، عاملِ تقیه در بسیاری موارد و بالاخره پدید آمدن مشکلات شخصی و عسر و حرج برای امامان در صورت مراجعة مستقیم مردم به آنها بود.
در عصر غیبت صغرا نیاز به تقلید در احکام شرعی بیشتر احساس شد و بنا بر توقیعی که از آخرین امام شیعیان (امام دوازدهم شیعه) نقل شدهاست، مرجع شناخت احکام در موضوعات جدید را فقیهانی معرفی کرده که دارای شرایطی هستند و مردم باید از آنها تقلید کنند.
در عصر غیبت کبرا نیز مسئلهٔ تقلید همواره در میان شیعیان مطرح بوده و در دورههای گوناگون کمتر در مورد ضرورت داشتن آن تردید شده، هر چند که در ضوابط و شرایط آن بین اصولیون و اخباریون اختلافاتی وجود داشته است.
به نظر میرسد سابقهٔ پژوهش در بارهٔ اجتهاد و تقلید به عصر تدوین علم اصول فقه برمی گردد. این موضوع در کتابهای اصولی امامی، از زمان نگارش الذریعه الی اصول الشریعه (تألیف سید مرتضی علم الهدی، متوفی ۴۳۶) تا عصر حاضر، بررسی شده است. در کتب فقه استدلالی نیز گاه برخی مباحث مربوط به تقلید، ضمن بررسی شرایط فقیه جامعالشرایط، بیان میشود. از قرن دهم به بعد، آثار مستقلی در این باره با عنوان الاجتهاد و التقلید یا عناوین دیگر نگاشته شد و پس از شیخ انصاری آغازشدن رسالههای عملی با این مبحث رواج یافت. از زمان تألیف کتاب العروةالوثقی، اثر سید محمدکاظم طباطبائی یزدی (متوفی ۱۳۳۷) نیز مباحث اجتهاد و تقلید در ابتدای کتب فقهی مطرح گردید.
ادله جواز و وجوب تقلید از نظر شیعه
نظر مشهور فقهای شیعه بر وجوب یکی از سه امر اجتهاد، احتیاط یا تقلید برای مکلف است اما در نوع این وجوب اختلاف نظر وجود دارد. برخی این وجوب را شرعی دانستهاند؛ یا از آنرو که ادله وجوب شرعیِ فراگیری احکام بر آن دلالت دارد یا از آن جهت که تقلید مقدمة انجام دادن تکالیف شرعی است و «وجوب مقدَّمی» دارد. برخی دیگر این وجوب را عقلی دانستهاند، زیرا عقل درک میکند که مکلف در صورت انجام دادن حرام و ترک کردن واجب مستوجب عِقاب است، پس باید مستند و حجتی بیابد که او را از عذاب و عقاب ایمن سازد. این حجت از یکی از سه راه مذکور (اجتهاد، احتیاط، تقلید) حاصل میشود. بر این اساس، تقلید در کنار دو راه دیگر وجوب تخییری دارد و مکلف میتواند از راه تقلید، احکام شرعی خود را فرا گیرد. بنابراین اگر اجتهاد برای او ممکن نباشد، تقلید واجب تعیینی میشود. به تصریح فقها حکم تقلید، خود نمیتواند مورد تقلید قرار گیرد، بلکه مقلد باید با یقین خود و به استناد حکم عقل تقلید نماید و گرنه دور باطل لازم میآید، هر چند در مورد جزئیات احکام تقلید، امکان تقلید وجود دارد. سید محمد جواد غروی در کتاب خود چنین مینویسد که مقلد هم باید در شناخت احکام الهی به علم برسد از اینرو تبعیت از یک فقیه رفع مسئولیت از او نمیکند و باید با حکمیت عقل، از هر فقیهی که مسئله یا مسائل احکام را با استناد به کتاب خدا و سنت قطعیه عقلیه بیان مینماید، پیروی کند. پس مقلد میتواند در هر حکمی از یک مجتهد، مستقلاً تبعیت نماید نه اینکه در تمامی مسائل، از یک فقیه تقلید کند و در مسائل ثابت شرع نیازی نیست که فقیه در قید حیات باشد.
دلایل چهارگانه جواز و وجوب تقلید
دلایل چهارگانه فقهی جواز و وجوب تقلید به تفصیل شامل: عقل، وحی و حدیث و اجماع میباشند.
دلایل عقلی
برای وجوب یا جواز تقلید ادلهٔ متعددی مطرح شده، از جمله آنکه جواز تقلید بدیهی و فطری است و نیاز به دلیل ندارد، زیرا هر جاهلی به اقتضای فطرت خویش برای رفع جهل خود به عالم رجوع میکند. دلیل دیگر این است که سیرهٔ عقلا بر حسب دریافت عقلایی خویش، رجوع به متخصص در هر رشته است و از آنجا که شارع این سیره را منع نکرده، مورد تأیید اوست و گرنه برای شناخت احکام و اطاعت از دستورهای دین راه دیگری معرفی میکرد.
دلایل وحیانی
آیات متعددی دلیل دیگر جواز تقلیدند، از جمله آیة ۷ سوره انبیاء که سؤال کردن از عالمان و «اهل ذکر» را بر غیر عالمان لازم دانستهاست اما گفتهاند که این آیه در مورد اعتقادات است که تقلید در آن راه ندارد. همچنین برخی آیة ۱۲۲ سوره توبه را، که بر وجوب سفر برای تفقّه در امر دین دلالت دارد، دلیل جواز تقلید از فقها دانستهاند.
در قرآن دو نوع تقلید مطرح شدهاست: تقلید ناپسند و تقلید پسندیده.
در آیات مختلف قرآن، تقلید از رهبران شرک، تقلید از مستکبران و تقلید از نیاکان از روی تعصب و جهل، ناپسند و مذموم دانسته شدهاست. همچنین تقلید کورکورانه در اصول دین را امری جاهلانه و خلاف عقل دانستهاست. به علاوه، آیه ۳۱ سوره توبه، تقلید چشمبسته و پیروی بی چون و چرای یهود از پیشوایان دینی خود را نکوهیدهاست.
تقلید در اصول دین و عقاید، مذموم و ناپسند است؛ ولی آیات متعددی، تقلید در فروع دین و احکام تأیید شده، و بر آن تأکید شدهاست. علمای تفسیر و فقه از آیه ۱۲۲ سوره توبه لزوم تقلید «جاهلان به احکام دین» از فقیهان و عالمان برداشت کردهاند: گروهی از علمای اسلام به آیه یاد شده در مسئله جواز تقلید استدلال کردهاند، و چنین استدلال نمودهاند که فراگیری تعلیمات اسلام و رساندن آن به دیگران در مسائل فروع دین و لزوم پیرویشوندگان از آنان، همان تقلید است. برخی مفسران و فقیهان از آیات ۴۳ سوره نحل و ۷ سوره انبیاء، ضرورت تقلید و رجوع انسانهای «ناآگاه از مسایل فرعی دین» به عالمان و مجتهدان برداشت کردهاند: برخی علما برای جواز تقلید عامی و رجوع غیرمجتهد به مجتهد در مسائل فرعی، به این آیه استدلال کردهاند. علامه طباطبایی هم معتقد است این آیه، ارشاد به یک اصل کلّی و عقلایی است و آن رجوع جاهل به اهل علم و خبرهاست.
البته، برداشتهایی که مفسرین و فقها از آیات قرآن در این زمینه انجام دادهاند، با توجّه به مفهوم آیات است، زیرا تقلید از نیاکان جاهل و هدایت نشده مورد سرزنش قرار گرفته و مفهوم آن جواز تقلید از عاقلان عالم و هدایت شدهاست.
دلایل حدیثی
احادیثی که گاه فقهای امامیه برای جواز تقلید به آنها استناد کردهاند، چند دستهاند:
۱) حدیثی که واژة تقلید یا مشتقات آن را در بر دارد.
۲) احادیثی که در آنها امامان، شیعیان را به راویان حدیث ارجاع دادهاند، مانند توقیع امام دوازدهم.
۳) احادیثی که طبق آنها امامان به اشخاص معیّنی، با ذکر نام، ارجاع دادهاند.
۴) احادیثی که در آنها ائمه یاران خود را به فتوا دادن برای مردم ترغیب یا فتوای آنها را تأیید کردهاند.
۵) احادیثی که از فتوا دادن بدون علم یا فتوا دادن بر پایهٔ روشهایی مانند رأی و قیاس نهی کرده است که مفهوم آنها، جواز فتوا دادن بر اساس دلیل معتبر شرعی است.
۶) احادیثی که متضمن تقریر امامان شیعه مبنی بر جواز تقلید از کسانی است که بر طبق ضوابط شرعی فتوا میدهند.
دلایل اجماعی
دلیل دیگر جواز تقلید، اجماع انکارناپذیر فقها بر جواز پرسش و استفتا در احکام شرعی است، بدون آنکه دلیل حکم سؤال شود. البته گفته میشود که چنین اجماعی وجود ندارد و تقلید در قرون اخیر در بین شیعیان رواج یافته است. برای مثال ابن زهره که از علمای بزرگ شیعه میباشد تقلید را از نظر علمای شیعه حرام میداند. او میگوید: «جایز نیست فتواگیرنده از فتوادهنده تقلید کند؛ چرا که تقلید ناپسند است، و نیز طایفه امامیه بر این معنی مجتمعاند که عمل جز بر اساس علم جایز نیست. و کسی نمیتواند بگوید که: وجود دلیل - یعنی اجماع طایفه - بر وجوب مراجعه عامی به مرجع و عمل به گفتار او با توجه به اینکه جایز الخطاست، او را از اقدام به قبیح مصون میدارد، و این را اقتضا دارد که عمل خود را به علم مستند کند. زیرا ما قبول نداریم که در صورت جایز الخطا بودن فقیه، علمای امامیه بر عمل به نظر وی اجماع داشته باشند. و این مسألهای است اختلافی. بلکه آن چیزی که افراد به آن مأمورند فقط مراجعه فرد عامی به مفتی و مرجع است؛ و اما اینکه موظف به عمل به نظر وی باشد از روی تقلید، این گونه نیست». آیتالله منتظری نیز در کتاب مبانی فقهی حکومت اسلامی دلایل نقلی و عقلی تقلید را زیر سوال میبرد. او مینویسد آیات قرآن همگی بر تشویق به دانش آموزی و مراجعه به دانشمندان تاکید دارد همانگونه که همه مردم در هر رشتهای عمل میکنند و این به معنای تقلید نیست. احادیث وارده نیز یا مانند آیات قرآن به دانش تشویق میکنند یا اگر مجوز تقلید باشند دارای سند ضعیف میباشند. آیتالله منتظری دلایل عقلی را نیز خدشه پذیر میداند و میگوید عقلا از متخصصین رشتههای مختلف تقلید نمیکنند بلکه برای کسب علم اجمالی به نظرات متخصصین مراجعه میکنند؛ حال در یک مورد با نظر یک متخصص قانع میشوند و در یک مورد نیز به چند متخصص مراجعه میکنند و حتی ممکن است در نهایت نیز به نظر فرد با دانش کمتر عمل نمایند. در واقع عقل حکم نمیکند که انسان فقط به نظر یک متخصص متکی باشد و خود را از نظر سایر صاحبنظران نحروم کند.
اصطلاحات کلیدی تقلید
عدول: برگشتن از مرجع تقلید به مرجع دیگری و تغییر مرجع تقلید که درصورت اعلمیت دومی جایز است.
تبعیض: مراجعه به مرجعی دیگر در قسمتی از ابواب فقهی (مثلاً خمس یا ارث) که طبق نظر غالب مراجع در صورت تساوی مجتهدین جایز است.
رجوع: برگشتن از فتوای مرجع تقلید به مرجعی دیگر که در علم مساوی است غالباً -به انحایی- جایز شمرده میشود.
بقا بر میت: ماندن بر فتاوای مرجع درگذشته که با اجازه مرجع زنده جایز است.
تقلید در مذهب اهل تسنن
موضوع تقلید در میان اهل سنّت فراز و نشیبهای بسیاری داشته است. برخی مؤلفان، از این منظر، فقه اهل سنّت را به چهار دوره تقسیم کردهاند:
۱) مرحلهٔ آغاز: این مرحله به زمان خلفا و صحابه باز میگردد که مردم برای شناخت احکام شرعی به آنان رجوع میکردند. در این دوره مذهب معیّنی در میان اهل سنّت رواج نداشت، بلکه در مواردی که اتفاق نظر داشتند به روایاتی که از پیامبر اسلام رسیده بود، عمل مینمودند و در موارد اختلاف نظر به هر یک از صحابه که میخواستند مراجعه میکردند، بدون آنکه همواره به روش یا فرد خاصی ملتزم باشند.
۲) مرحلهٔ بروز مذاهب فقهی: با افزایش تعداد راویان احادیث و ظهور اشخاص برجستة علمی در مناطق گوناگون، مردم برای فراگیری احکام به افراد متعددی رجوع میکردند. این اشخاص نوعی مرجعیت دینی یافتند و هر یک مذهبی فقهی را پایهگذاری کردند.
۳) مرحلهٔ حصر مذاهب فقهی چهارگانه: تعدد مذاهب اختلافاتی در پی داشت و تعصب و دشمنی پیروان مذاهب این اختلافات را تشدید کرد و با افزایش حسد و خودبینی و دیگر ضعفهای اخلاقی، روح تفکر از بین رفت. از سوی دیگر، با وجود اختلاف شدید مذاهب، عملاً امکان قضاوت در دعاوی بر اساس قانون و رویة واحد وجود نداشت. چه بسا بر پایهٔ یک مذهب، عقدی باطل و بنا بر مذهب دیگر همان عقد صحیح بود یا بر اساس یک مذهب، عملی مشمول مجازات بود و بر پایهٔ مذهبی دیگر نبود. مجموع این عوامل و بروز هرج و مرج مذهبی باعث شد که فکر بستن باب اجتهاد و محدود شدن مذاهب فقهی مطرح شود. سرانجام، در قرن هفتم، چهار مذهب از مذاهب اهل سنّت رسمیت یافت و پیروی از دیگر مذاهب تحریم شد. فقیهانی، از جمله ابن صلاح، نیز به منع تقلید از غیر مذاهب اربعه فتوا دادند.
۴) مرحلهٔ رواج مجدد اجتهاد و تقلید: بعضی علمای پیشین اهل سنّت، مانند ابوالفتح شهرستانی (متوفی ۵۴۸) و ابواسحاق شاطبی (متوفی ۷۹۰)، به بسته بودن باب اجتهاد و افتا معترض و خواهان گشودن آن بودند. در قرن اخیر نیز شماری از عالمان اهل سنّت و شیوخ الازهر، به استناد اجماع مسلمانان در صدر اسلام مبنی بر جواز تقلید از هر یک از صحابه، انحصار اجتهاد در چهار مذهب را مردود دانستهاند و اجتهاد علمی مجدداً رواج یافته است. بر این اساس، مکلفان سنّی مذهب میتوانند از هر یک از ائمهٔ مذاهب فقهی که بخواهند تقلید کنند و حتی جایز است که در مورد مسائل مختلف، از میان آرای مذاهب چهارگانهٔ اهل سنّت، آسانترین رأی فقهی را برای تقلید برگزینند. این دیدگاه در میان فقهای پیشین اهل سنّت نیز مدافعانی داشته، هر چند برخی از آنها مانند کیاهراسی و ابن تیمیّه (متوفی ۷۲۸) با آن به مخالفت بر خاستهاند.
جواز یا حرمت تقلید از نظر اهل تسنن
در میان اهل سنّت دو دیدگاه اساسی در بارهٔ جواز یا حرمت تقلید وجود دارد. برخی فقهای متقدم تقلید را حرام شمردهاند. از امامان مذاهب چهارگانه (ابوحنیفه و ابویوسف و مالک بن انس و شافعی و احمدبن حنبل) عدم جواز تقلید نقل شده است. در مقابل، از برخی فقیهان متقدم اهل سنّت، از جمله از فقیه بزرگ حنفی، محمدبن حسن شیبانی، جواز تقلید نقل شده است. شافعی نیز در مواردی دلیل نظر خود را پیروی از یک صحابی یا تابعی دانسته است. علاوه بر آن از کتاب شافعی و نیز از فقهایی مانند ابن سرّاج، احمد بن حنبل و سفیان ثوری، جواز تقلید عالم از عالم نقل شده است. ابن قیّم جوزیّه این اختلاف نظر را اینگونه توجیه کرده که برای عالم، تقلید از دیگری فقط به هنگام ضرورت مجاز است و در سایر موارد جایز نیست. ابن حزم هم تقلید را باطل می دانسته و پیروان خود و دیگر مذاهب را به اجتهاد فرامی خوانده است.
فقهای متأخر اهل سنّت قائل به جواز تقلید و وجوب آن برای عامی (غیر عالم) هستند، زیرا هر فرد، مکلف به انجام دادن احکام شرعی است و نبودن حجت برای اثبات تکلیف، موجب زوال آن و طرد شریعت میشود.
مرجع تقلید
مرجع تقلید در مذهب فقهی امامیه به مجتهد جامع الشرایطی گفته میشود که توضیح المسائل (رساله عملیه) یا کتاب استفتائات داشته باشد و دارای پیروانی باشد که در فروع دین و احکام فقهی اسلامی از وی پیروی کنند.
معنای لغوی و اصطلاحی مرجع
کلمه «مرجع» در لغت، اسم مکان به معنای محل رجوع است. از این رو، در اصطلاح، به مجتهدی که نسبت به دیگران اعلم باشد و شرایط دیگری مانند پارسایی و آگاهی لازم از مسائل جهان اسلام و تشیع را داشته باشد، «مرجع» میگویند. زیرا شیعیان در احکام شرعی به وی رجوع میکنند. همچنین منظور از واژه تقلید در اینجا، پیروی از مجتهد جامع الشرایط است، و این امر، از باب رجوع به اهل خبره و متخصصین میباشد.
معنای لغوی و اصطلاحی تقلید
تقلید در لغت به معنای قلاده بر گردن انداختن است. در اصطلاح فقه نیز به همین معناست و وقتی میگویند عامی از مجتهد تقلید میکند، یعنی گفتار او را همچون قلادهای بر گردن خود میاندازد. عامی مقلِد و مجتهد مقلَد نامیده میشوند.
در دورهٔ صدر اسلام، تقلید مفهومی منفی داشته و از آن در مقام انتقاد از غیر مسلمانان استفاده میشد، انتقاد از آنانی که میخواستند بر آئین پدرانشان بمانند. اما از قرن دوم بهتدریج بار معنایی مثبتی پیدا میکند و به پیروی از احادیث و گفتههای صحابه اطلاق میشود.
تاریخچه
تقلید در مذهب شیعه از عصر امامان آغاز شد. آنان پیروانشان را به راویان حدیث یا یاران نزدیک خود، ارجاع می دادند و گاهی یاران خود را به حضور در مساجد و مراکز عمومی برای فتوا دادن و ارشاد مردم تشویق می نمودند. ظهور تقلید در عصر امامان و تشویق آنان به این امر، بعلت فاصلة زیاد میان شهرها، فراهم نبودن امکانات ضروری برای مسافرت مردم و در نتیجه دشواری دسترسی به امام یا دسترسی نداشتن به وی، عاملِ تقیه در بسیاری موارد و بالاخره پدید آمدن مشکلات شخصی و عسر و حرج برای امامان در صورت مراجعة مستقیم مردم به آنها بود. در عصر غیبت صغرا نیاز به تقلید در احکام شرعی بیشتر احساس شد و بنا بر توقیعی که از آخرین امام دوازدهم شیعه نقل شدهاست، مرجع شناخت احکام در موضوعات جدید را فقیهانی معرفی کرده که دارای شرایطی هستند و مردم باید از آنها تقلید کنند.
تقلید در کتابهای اصول فقه از قرن چهارم هجری به عنوان یک اصطلاح فنی تعریف میشود. ابتدا این مفهوم ارتباط روشنی با آنچه که بعداً مرجع خوانده می شود، نداشت. اولین کسی که در میان شیعیان مقام مرجع یافت، شیخ طوسی در قرن پنجم بود، علمای دیگر خود را پیرو او دانستند و حکایت کردن از او بعدها تعبیر به تقلید از او شد. این تقلید، تقلید عالم از عالم خوانده میشود. اما اصول تقلید عامی از مجتهد در سده دهم بود که شکل روشنی یافت.
در ابتدا رابطه مردم و فقهای بزرگ که مرجع نامیده میشدند رابطهای نامتمرکز بود و در منطقه یک یا چند فقیه محل رجوع مردم بودند. در دوان صفویه با حضور علمای مهاجر از جبل عامل، لبنان در دربار صفوی گرایشی به ایجاد تمرکز در روحانیت شکل گرفت و علمایی پدیدار شدند که شهرتی فراتر از منطقه خود داشتند. نقطه اوج این تمرکز در دوران اقامت آیتالله بروجردی در حوزه علمیه قم شکل گرفت، بروجردی مرجع تقلید بدون رقیب شیعیان شد و ثروت بزرگی در این شهر جمع شد. پس از مرگ او دوران تکثر مرجعیت دوباره فرا رسید.
نقش مراجع تقلید شیعه
از دیدگاه فقهی، فقهای شیعه در زمان غیبت امام زمان، نایبان عام و جانشینان وی در امور شرعی و استنباط و تبیین احکام فقهی اسلامی محسوب میشوند.
مراجع شیعه در طول تاریخ تشیع، نقش بارزی در امور دینی، فکری و سیاسی و اجتماعی جوامع خود داشتهاند. مثال بارز آن فتوای تحریم تنباکو توسط میرزای شیرازی در زمان حکومت قاجار است که به الغای امتیاز تنباکو انجامید.
مرجعیت عام
در هر زمان بخصوص دوره حاضر مجتهدین متعددی هستند که در یک ناحیه بعنوان مرجع شناخته می شوند اما مراجع عام تنها کسانی هستند که در اکثر بلاد شناخته شده اند و مقلدین متعددی دارند و در تضارب فتاوای فقهی نظرات آنها مورد توجه مراجع دیگر و علمای وقت می باشد. در عین حال مرجعیت عام می تواند متعدد نیز باشد.
مرجعیت اعلی
در هر دورهای مرجعی که از دیگران دانش بیشتری دارد و مردم بیشتر به او مراجعه میکنند، به نام مرجعیت اعلی، یا مرجعیت کل شناخته شده و مرتبه بلندتری در جامعه شیعه بر عهده دارد. بیشتر قدما از جمله شیخ طوسی و ... و از متاخرین میرزای شیرازی، سید حسین طباطبایی بروجردی، سید روح الله خمینی از مرجعیت اعلی برخوردار بودند. چنانچه درباره مصادیق آن در دوره معاصر نظر واحدی وجود نداشته باشد نمی توان کسی را از مصادیق مرجعیت اعلی دانست.
مراجع مشهور کنونی
بنا به عقیده مشهور در میان فقهای شیعه مفتی و مرجع تقلید بایست زنده باشد. (شیخ انصاری ادعای اجماع کردهاست). برخی از مراجع شیعه که دارای رساله عملیه و توضیح المسائل هستند و پیروانی در مناطق مختلف دارند در اینجا فهرست شدهاند.
فقیه
فقیه از واژه "فقه" مشتق شده است. و فقه در لغت، به معنای دانستن و فهمیدن، است.اما فقیه در اصطلاح علوم اسلامی، به معنای مجتهد و متخصص در علم فقه به کار رفته است. بنا براین، فقیه به کسی می گویند که قادر به استنباط احکام شرعی فرعی از منابع فقه اسلامی که عبارتند از قرآن، سنت، اجماع و عقل باشد.
در متنهای فارسی کهن تا قرنهای هفتم و هشتم هجری، معمولاً واژه دانشمند در زبان فارسی به معنای فقیه در زبان عربی استعمال میشده است. مجتهد کسی است که حداقل دورههای سهگانه حوزوی را گذرانده و قادر به استنباط احکام فقهی باشد. اما فقیه مجتهدی است که علاوه بر این در علم فقه تسلط دارد و صاحبنظر و نوآوراست و مرادف با دانشمند است.
شرایط فقیه
فقیه باید علوم یادشده در زیر، آشنایی کافی داشته باشد:
فقه
اصول فقه
قواعد فقهیه
علم حدیث
علم رجال
علم درایه
دستور زبان عربی
منطق
تفسیر آیات الاحکام در قرآن
فقه اللغة
فقیه جامع الشرایط
به مجتهد و فقیهی که علاوه بر بعد فقاهت و تسلط بر علوم مذکور، حائز شرایط دیگری مانند عدالت، مدیریت، آشنایی به وضعیت جهان اسلام و تقوا باشد، فقیه جامع الشرایط می گویند.
فقیه مرجع
از میان فقیهان جامع الشرایط، آنکه از دیگران اعلم و متخصص تر در علوم لازم برای اجتهاد باشد، فقیه مرجع، یا مرجع تقلید نامیده می شود.
تقلید در مذهب شیعه از عصر امامان آغاز شد. آنان پیروانشان را به راویان حدیث یا یاران نزدیک خود، ارجاع میدادند و گاهی یاران خود را به حضور در مساجد و مراکز عمومی برای فتوادادن و ارشاد مردم تشویق مینمودند. ظهور تقلید در عصر امامان و تشویق آنان به این امر، بعلت فاصلهٔ زیاد میان شهرها، فراهم نبودن امکانات ضروری برای مسافرت مردم و در نتیجه دشواری دسترسی به امام یا دسترسی نداشتن به وی، عاملِ تقیه در بسیاری موارد و بالاخره پدید آمدن مشکلات شخصی و عسر و حرج برای امامان در صورت مراجعة مستقیم مردم به آنها بود.
در عصر غیبت صغرا نیاز به تقلید در احکام شرعی بیشتر احساس شد و بنا بر توقیعی که از آخرین امام شیعیان (امام دوازدهم شیعه) نقل شدهاست، مرجع شناخت احکام در موضوعات جدید را فقیهانی معرفی کرده که دارای شرایطی هستند و مردم باید از آنها تقلید کنند.
در عصر غیبت کبرا نیز مسئلهٔ تقلید همواره در میان شیعیان مطرح بوده و در دورههای گوناگون کمتر در مورد ضرورت داشتن آن تردید شده، هر چند که در ضوابط و شرایط آن بین اصولیون و اخباریون اختلافاتی وجود داشته است.
به نظر میرسد سابقهٔ پژوهش در بارهٔ اجتهاد و تقلید به عصر تدوین علم اصول فقه برمی گردد. این موضوع در کتابهای اصولی امامی، از زمان نگارش الذریعه الی اصول الشریعه (تألیف سید مرتضی علم الهدی، متوفی ۴۳۶) تا عصر حاضر، بررسی شده است. در کتب فقه استدلالی نیز گاه برخی مباحث مربوط به تقلید، ضمن بررسی شرایط فقیه جامعالشرایط، بیان میشود. از قرن دهم به بعد، آثار مستقلی در این باره با عنوان الاجتهاد و التقلید یا عناوین دیگر نگاشته شد و پس از شیخ انصاری آغازشدن رسالههای عملی با این مبحث رواج یافت. از زمان تألیف کتاب العروةالوثقی، اثر سید محمدکاظم طباطبائی یزدی (متوفی ۱۳۳۷) نیز مباحث اجتهاد و تقلید در ابتدای کتب فقهی مطرح گردید.
ادله جواز و وجوب تقلید از نظر شیعه
نظر مشهور فقهای شیعه بر وجوب یکی از سه امر اجتهاد، احتیاط یا تقلید برای مکلف است اما در نوع این وجوب اختلاف نظر وجود دارد. برخی این وجوب را شرعی دانستهاند؛ یا از آنرو که ادله وجوب شرعیِ فراگیری احکام بر آن دلالت دارد یا از آن جهت که تقلید مقدمة انجام دادن تکالیف شرعی است و «وجوب مقدَّمی» دارد. برخی دیگر این وجوب را عقلی دانستهاند، زیرا عقل درک میکند که مکلف در صورت انجام دادن حرام و ترک کردن واجب مستوجب عِقاب است، پس باید مستند و حجتی بیابد که او را از عذاب و عقاب ایمن سازد. این حجت از یکی از سه راه مذکور (اجتهاد، احتیاط، تقلید) حاصل میشود. بر این اساس، تقلید در کنار دو راه دیگر وجوب تخییری دارد و مکلف میتواند از راه تقلید، احکام شرعی خود را فرا گیرد. بنابراین اگر اجتهاد برای او ممکن نباشد، تقلید واجب تعیینی میشود. به تصریح فقها حکم تقلید، خود نمیتواند مورد تقلید قرار گیرد، بلکه مقلد باید با یقین خود و به استناد حکم عقل تقلید نماید و گرنه دور باطل لازم میآید، هر چند در مورد جزئیات احکام تقلید، امکان تقلید وجود دارد. سید محمد جواد غروی در کتاب خود چنین مینویسد که مقلد هم باید در شناخت احکام الهی به علم برسد از اینرو تبعیت از یک فقیه رفع مسئولیت از او نمیکند و باید با حکمیت عقل، از هر فقیهی که مسئله یا مسائل احکام را با استناد به کتاب خدا و سنت قطعیه عقلیه بیان مینماید، پیروی کند. پس مقلد میتواند در هر حکمی از یک مجتهد، مستقلاً تبعیت نماید نه اینکه در تمامی مسائل، از یک فقیه تقلید کند و در مسائل ثابت شرع نیازی نیست که فقیه در قید حیات باشد.
دلایل چهارگانه جواز و وجوب تقلید
دلایل چهارگانه فقهی جواز و وجوب تقلید به تفصیل شامل: عقل، وحی و حدیث و اجماع میباشند.
دلایل عقلی
برای وجوب یا جواز تقلید ادلهٔ متعددی مطرح شده، از جمله آنکه جواز تقلید بدیهی و فطری است و نیاز به دلیل ندارد، زیرا هر جاهلی به اقتضای فطرت خویش برای رفع جهل خود به عالم رجوع میکند. دلیل دیگر این است که سیرهٔ عقلا بر حسب دریافت عقلایی خویش، رجوع به متخصص در هر رشته است و از آنجا که شارع این سیره را منع نکرده، مورد تأیید اوست و گرنه برای شناخت احکام و اطاعت از دستورهای دین راه دیگری معرفی میکرد.
دلایل وحیانی
آیات متعددی دلیل دیگر جواز تقلیدند، از جمله آیة ۷ سوره انبیاء که سؤال کردن از عالمان و «اهل ذکر» را بر غیر عالمان لازم دانستهاست اما گفتهاند که این آیه در مورد اعتقادات است که تقلید در آن راه ندارد. همچنین برخی آیة ۱۲۲ سوره توبه را، که بر وجوب سفر برای تفقّه در امر دین دلالت دارد، دلیل جواز تقلید از فقها دانستهاند.
در قرآن دو نوع تقلید مطرح شدهاست: تقلید ناپسند و تقلید پسندیده.
در آیات مختلف قرآن، تقلید از رهبران شرک، تقلید از مستکبران و تقلید از نیاکان از روی تعصب و جهل، ناپسند و مذموم دانسته شدهاست. همچنین تقلید کورکورانه در اصول دین را امری جاهلانه و خلاف عقل دانستهاست. به علاوه، آیه ۳۱ سوره توبه، تقلید چشمبسته و پیروی بی چون و چرای یهود از پیشوایان دینی خود را نکوهیدهاست.
تقلید در اصول دین و عقاید، مذموم و ناپسند است؛ ولی آیات متعددی، تقلید در فروع دین و احکام تأیید شده، و بر آن تأکید شدهاست. علمای تفسیر و فقه از آیه ۱۲۲ سوره توبه لزوم تقلید «جاهلان به احکام دین» از فقیهان و عالمان برداشت کردهاند: گروهی از علمای اسلام به آیه یاد شده در مسئله جواز تقلید استدلال کردهاند، و چنین استدلال نمودهاند که فراگیری تعلیمات اسلام و رساندن آن به دیگران در مسائل فروع دین و لزوم پیرویشوندگان از آنان، همان تقلید است. برخی مفسران و فقیهان از آیات ۴۳ سوره نحل و ۷ سوره انبیاء، ضرورت تقلید و رجوع انسانهای «ناآگاه از مسایل فرعی دین» به عالمان و مجتهدان برداشت کردهاند: برخی علما برای جواز تقلید عامی و رجوع غیرمجتهد به مجتهد در مسائل فرعی، به این آیه استدلال کردهاند. علامه طباطبایی هم معتقد است این آیه، ارشاد به یک اصل کلّی و عقلایی است و آن رجوع جاهل به اهل علم و خبرهاست.
البته، برداشتهایی که مفسرین و فقها از آیات قرآن در این زمینه انجام دادهاند، با توجّه به مفهوم آیات است، زیرا تقلید از نیاکان جاهل و هدایت نشده مورد سرزنش قرار گرفته و مفهوم آن جواز تقلید از عاقلان عالم و هدایت شدهاست.
دلایل حدیثی
احادیثی که گاه فقهای امامیه برای جواز تقلید به آنها استناد کردهاند، چند دستهاند:
۱) حدیثی که واژة تقلید یا مشتقات آن را در بر دارد.
۲) احادیثی که در آنها امامان، شیعیان را به راویان حدیث ارجاع دادهاند، مانند توقیع امام دوازدهم.
۳) احادیثی که طبق آنها امامان به اشخاص معیّنی، با ذکر نام، ارجاع دادهاند.
۴) احادیثی که در آنها ائمه یاران خود را به فتوا دادن برای مردم ترغیب یا فتوای آنها را تأیید کردهاند.
۵) احادیثی که از فتوا دادن بدون علم یا فتوا دادن بر پایهٔ روشهایی مانند رأی و قیاس نهی کرده است که مفهوم آنها، جواز فتوا دادن بر اساس دلیل معتبر شرعی است.
۶) احادیثی که متضمن تقریر امامان شیعه مبنی بر جواز تقلید از کسانی است که بر طبق ضوابط شرعی فتوا میدهند.
دلایل اجماعی
دلیل دیگر جواز تقلید، اجماع انکارناپذیر فقها بر جواز پرسش و استفتا در احکام شرعی است، بدون آنکه دلیل حکم سؤال شود. البته گفته میشود که چنین اجماعی وجود ندارد و تقلید در قرون اخیر در بین شیعیان رواج یافته است. برای مثال ابن زهره که از علمای بزرگ شیعه میباشد تقلید را از نظر علمای شیعه حرام میداند. او میگوید: «جایز نیست فتواگیرنده از فتوادهنده تقلید کند؛ چرا که تقلید ناپسند است، و نیز طایفه امامیه بر این معنی مجتمعاند که عمل جز بر اساس علم جایز نیست. و کسی نمیتواند بگوید که: وجود دلیل - یعنی اجماع طایفه - بر وجوب مراجعه عامی به مرجع و عمل به گفتار او با توجه به اینکه جایز الخطاست، او را از اقدام به قبیح مصون میدارد، و این را اقتضا دارد که عمل خود را به علم مستند کند. زیرا ما قبول نداریم که در صورت جایز الخطا بودن فقیه، علمای امامیه بر عمل به نظر وی اجماع داشته باشند. و این مسألهای است اختلافی. بلکه آن چیزی که افراد به آن مأمورند فقط مراجعه فرد عامی به مفتی و مرجع است؛ و اما اینکه موظف به عمل به نظر وی باشد از روی تقلید، این گونه نیست». آیتالله منتظری نیز در کتاب مبانی فقهی حکومت اسلامی دلایل نقلی و عقلی تقلید را زیر سوال میبرد. او مینویسد آیات قرآن همگی بر تشویق به دانش آموزی و مراجعه به دانشمندان تاکید دارد همانگونه که همه مردم در هر رشتهای عمل میکنند و این به معنای تقلید نیست. احادیث وارده نیز یا مانند آیات قرآن به دانش تشویق میکنند یا اگر مجوز تقلید باشند دارای سند ضعیف میباشند. آیتالله منتظری دلایل عقلی را نیز خدشه پذیر میداند و میگوید عقلا از متخصصین رشتههای مختلف تقلید نمیکنند بلکه برای کسب علم اجمالی به نظرات متخصصین مراجعه میکنند؛ حال در یک مورد با نظر یک متخصص قانع میشوند و در یک مورد نیز به چند متخصص مراجعه میکنند و حتی ممکن است در نهایت نیز به نظر فرد با دانش کمتر عمل نمایند. در واقع عقل حکم نمیکند که انسان فقط به نظر یک متخصص متکی باشد و خود را از نظر سایر صاحبنظران نحروم کند.
اصطلاحات کلیدی تقلید
عدول: برگشتن از مرجع تقلید به مرجع دیگری و تغییر مرجع تقلید که درصورت اعلمیت دومی جایز است.
تبعیض: مراجعه به مرجعی دیگر در قسمتی از ابواب فقهی (مثلاً خمس یا ارث) که طبق نظر غالب مراجع در صورت تساوی مجتهدین جایز است.
رجوع: برگشتن از فتوای مرجع تقلید به مرجعی دیگر که در علم مساوی است غالباً -به انحایی- جایز شمرده میشود.
بقا بر میت: ماندن بر فتاوای مرجع درگذشته که با اجازه مرجع زنده جایز است.
تقلید در مذهب اهل تسنن
موضوع تقلید در میان اهل سنّت فراز و نشیبهای بسیاری داشته است. برخی مؤلفان، از این منظر، فقه اهل سنّت را به چهار دوره تقسیم کردهاند:
۱) مرحلهٔ آغاز: این مرحله به زمان خلفا و صحابه باز میگردد که مردم برای شناخت احکام شرعی به آنان رجوع میکردند. در این دوره مذهب معیّنی در میان اهل سنّت رواج نداشت، بلکه در مواردی که اتفاق نظر داشتند به روایاتی که از پیامبر اسلام رسیده بود، عمل مینمودند و در موارد اختلاف نظر به هر یک از صحابه که میخواستند مراجعه میکردند، بدون آنکه همواره به روش یا فرد خاصی ملتزم باشند.
۲) مرحلهٔ بروز مذاهب فقهی: با افزایش تعداد راویان احادیث و ظهور اشخاص برجستة علمی در مناطق گوناگون، مردم برای فراگیری احکام به افراد متعددی رجوع میکردند. این اشخاص نوعی مرجعیت دینی یافتند و هر یک مذهبی فقهی را پایهگذاری کردند.
۳) مرحلهٔ حصر مذاهب فقهی چهارگانه: تعدد مذاهب اختلافاتی در پی داشت و تعصب و دشمنی پیروان مذاهب این اختلافات را تشدید کرد و با افزایش حسد و خودبینی و دیگر ضعفهای اخلاقی، روح تفکر از بین رفت. از سوی دیگر، با وجود اختلاف شدید مذاهب، عملاً امکان قضاوت در دعاوی بر اساس قانون و رویة واحد وجود نداشت. چه بسا بر پایهٔ یک مذهب، عقدی باطل و بنا بر مذهب دیگر همان عقد صحیح بود یا بر اساس یک مذهب، عملی مشمول مجازات بود و بر پایهٔ مذهبی دیگر نبود. مجموع این عوامل و بروز هرج و مرج مذهبی باعث شد که فکر بستن باب اجتهاد و محدود شدن مذاهب فقهی مطرح شود. سرانجام، در قرن هفتم، چهار مذهب از مذاهب اهل سنّت رسمیت یافت و پیروی از دیگر مذاهب تحریم شد. فقیهانی، از جمله ابن صلاح، نیز به منع تقلید از غیر مذاهب اربعه فتوا دادند.
۴) مرحلهٔ رواج مجدد اجتهاد و تقلید: بعضی علمای پیشین اهل سنّت، مانند ابوالفتح شهرستانی (متوفی ۵۴۸) و ابواسحاق شاطبی (متوفی ۷۹۰)، به بسته بودن باب اجتهاد و افتا معترض و خواهان گشودن آن بودند. در قرن اخیر نیز شماری از عالمان اهل سنّت و شیوخ الازهر، به استناد اجماع مسلمانان در صدر اسلام مبنی بر جواز تقلید از هر یک از صحابه، انحصار اجتهاد در چهار مذهب را مردود دانستهاند و اجتهاد علمی مجدداً رواج یافته است. بر این اساس، مکلفان سنّی مذهب میتوانند از هر یک از ائمهٔ مذاهب فقهی که بخواهند تقلید کنند و حتی جایز است که در مورد مسائل مختلف، از میان آرای مذاهب چهارگانهٔ اهل سنّت، آسانترین رأی فقهی را برای تقلید برگزینند. این دیدگاه در میان فقهای پیشین اهل سنّت نیز مدافعانی داشته، هر چند برخی از آنها مانند کیاهراسی و ابن تیمیّه (متوفی ۷۲۸) با آن به مخالفت بر خاستهاند.
جواز یا حرمت تقلید از نظر اهل تسنن
در میان اهل سنّت دو دیدگاه اساسی در بارهٔ جواز یا حرمت تقلید وجود دارد. برخی فقهای متقدم تقلید را حرام شمردهاند. از امامان مذاهب چهارگانه (ابوحنیفه و ابویوسف و مالک بن انس و شافعی و احمدبن حنبل) عدم جواز تقلید نقل شده است. در مقابل، از برخی فقیهان متقدم اهل سنّت، از جمله از فقیه بزرگ حنفی، محمدبن حسن شیبانی، جواز تقلید نقل شده است. شافعی نیز در مواردی دلیل نظر خود را پیروی از یک صحابی یا تابعی دانسته است. علاوه بر آن از کتاب شافعی و نیز از فقهایی مانند ابن سرّاج، احمد بن حنبل و سفیان ثوری، جواز تقلید عالم از عالم نقل شده است. ابن قیّم جوزیّه این اختلاف نظر را اینگونه توجیه کرده که برای عالم، تقلید از دیگری فقط به هنگام ضرورت مجاز است و در سایر موارد جایز نیست. ابن حزم هم تقلید را باطل می دانسته و پیروان خود و دیگر مذاهب را به اجتهاد فرامی خوانده است.
فقهای متأخر اهل سنّت قائل به جواز تقلید و وجوب آن برای عامی (غیر عالم) هستند، زیرا هر فرد، مکلف به انجام دادن احکام شرعی است و نبودن حجت برای اثبات تکلیف، موجب زوال آن و طرد شریعت میشود.
مرجع تقلید
مرجع تقلید در مذهب فقهی امامیه به مجتهد جامع الشرایطی گفته میشود که توضیح المسائل (رساله عملیه) یا کتاب استفتائات داشته باشد و دارای پیروانی باشد که در فروع دین و احکام فقهی اسلامی از وی پیروی کنند.
معنای لغوی و اصطلاحی مرجع
کلمه «مرجع» در لغت، اسم مکان به معنای محل رجوع است. از این رو، در اصطلاح، به مجتهدی که نسبت به دیگران اعلم باشد و شرایط دیگری مانند پارسایی و آگاهی لازم از مسائل جهان اسلام و تشیع را داشته باشد، «مرجع» میگویند. زیرا شیعیان در احکام شرعی به وی رجوع میکنند. همچنین منظور از واژه تقلید در اینجا، پیروی از مجتهد جامع الشرایط است، و این امر، از باب رجوع به اهل خبره و متخصصین میباشد.
معنای لغوی و اصطلاحی تقلید
تقلید در لغت به معنای قلاده بر گردن انداختن است. در اصطلاح فقه نیز به همین معناست و وقتی میگویند عامی از مجتهد تقلید میکند، یعنی گفتار او را همچون قلادهای بر گردن خود میاندازد. عامی مقلِد و مجتهد مقلَد نامیده میشوند.
در دورهٔ صدر اسلام، تقلید مفهومی منفی داشته و از آن در مقام انتقاد از غیر مسلمانان استفاده میشد، انتقاد از آنانی که میخواستند بر آئین پدرانشان بمانند. اما از قرن دوم بهتدریج بار معنایی مثبتی پیدا میکند و به پیروی از احادیث و گفتههای صحابه اطلاق میشود.
تاریخچه
تقلید در مذهب شیعه از عصر امامان آغاز شد. آنان پیروانشان را به راویان حدیث یا یاران نزدیک خود، ارجاع می دادند و گاهی یاران خود را به حضور در مساجد و مراکز عمومی برای فتوا دادن و ارشاد مردم تشویق می نمودند. ظهور تقلید در عصر امامان و تشویق آنان به این امر، بعلت فاصلة زیاد میان شهرها، فراهم نبودن امکانات ضروری برای مسافرت مردم و در نتیجه دشواری دسترسی به امام یا دسترسی نداشتن به وی، عاملِ تقیه در بسیاری موارد و بالاخره پدید آمدن مشکلات شخصی و عسر و حرج برای امامان در صورت مراجعة مستقیم مردم به آنها بود. در عصر غیبت صغرا نیاز به تقلید در احکام شرعی بیشتر احساس شد و بنا بر توقیعی که از آخرین امام دوازدهم شیعه نقل شدهاست، مرجع شناخت احکام در موضوعات جدید را فقیهانی معرفی کرده که دارای شرایطی هستند و مردم باید از آنها تقلید کنند.
تقلید در کتابهای اصول فقه از قرن چهارم هجری به عنوان یک اصطلاح فنی تعریف میشود. ابتدا این مفهوم ارتباط روشنی با آنچه که بعداً مرجع خوانده می شود، نداشت. اولین کسی که در میان شیعیان مقام مرجع یافت، شیخ طوسی در قرن پنجم بود، علمای دیگر خود را پیرو او دانستند و حکایت کردن از او بعدها تعبیر به تقلید از او شد. این تقلید، تقلید عالم از عالم خوانده میشود. اما اصول تقلید عامی از مجتهد در سده دهم بود که شکل روشنی یافت.
در ابتدا رابطه مردم و فقهای بزرگ که مرجع نامیده میشدند رابطهای نامتمرکز بود و در منطقه یک یا چند فقیه محل رجوع مردم بودند. در دوان صفویه با حضور علمای مهاجر از جبل عامل، لبنان در دربار صفوی گرایشی به ایجاد تمرکز در روحانیت شکل گرفت و علمایی پدیدار شدند که شهرتی فراتر از منطقه خود داشتند. نقطه اوج این تمرکز در دوران اقامت آیتالله بروجردی در حوزه علمیه قم شکل گرفت، بروجردی مرجع تقلید بدون رقیب شیعیان شد و ثروت بزرگی در این شهر جمع شد. پس از مرگ او دوران تکثر مرجعیت دوباره فرا رسید.
نقش مراجع تقلید شیعه
از دیدگاه فقهی، فقهای شیعه در زمان غیبت امام زمان، نایبان عام و جانشینان وی در امور شرعی و استنباط و تبیین احکام فقهی اسلامی محسوب میشوند.
مراجع شیعه در طول تاریخ تشیع، نقش بارزی در امور دینی، فکری و سیاسی و اجتماعی جوامع خود داشتهاند. مثال بارز آن فتوای تحریم تنباکو توسط میرزای شیرازی در زمان حکومت قاجار است که به الغای امتیاز تنباکو انجامید.
مرجعیت عام
در هر زمان بخصوص دوره حاضر مجتهدین متعددی هستند که در یک ناحیه بعنوان مرجع شناخته می شوند اما مراجع عام تنها کسانی هستند که در اکثر بلاد شناخته شده اند و مقلدین متعددی دارند و در تضارب فتاوای فقهی نظرات آنها مورد توجه مراجع دیگر و علمای وقت می باشد. در عین حال مرجعیت عام می تواند متعدد نیز باشد.
مرجعیت اعلی
در هر دورهای مرجعی که از دیگران دانش بیشتری دارد و مردم بیشتر به او مراجعه میکنند، به نام مرجعیت اعلی، یا مرجعیت کل شناخته شده و مرتبه بلندتری در جامعه شیعه بر عهده دارد. بیشتر قدما از جمله شیخ طوسی و ... و از متاخرین میرزای شیرازی، سید حسین طباطبایی بروجردی، سید روح الله خمینی از مرجعیت اعلی برخوردار بودند. چنانچه درباره مصادیق آن در دوره معاصر نظر واحدی وجود نداشته باشد نمی توان کسی را از مصادیق مرجعیت اعلی دانست.
مراجع مشهور کنونی
بنا به عقیده مشهور در میان فقهای شیعه مفتی و مرجع تقلید بایست زنده باشد. (شیخ انصاری ادعای اجماع کردهاست). برخی از مراجع شیعه که دارای رساله عملیه و توضیح المسائل هستند و پیروانی در مناطق مختلف دارند در اینجا فهرست شدهاند.
فقیه
فقیه از واژه "فقه" مشتق شده است. و فقه در لغت، به معنای دانستن و فهمیدن، است.اما فقیه در اصطلاح علوم اسلامی، به معنای مجتهد و متخصص در علم فقه به کار رفته است. بنا براین، فقیه به کسی می گویند که قادر به استنباط احکام شرعی فرعی از منابع فقه اسلامی که عبارتند از قرآن، سنت، اجماع و عقل باشد.
در متنهای فارسی کهن تا قرنهای هفتم و هشتم هجری، معمولاً واژه دانشمند در زبان فارسی به معنای فقیه در زبان عربی استعمال میشده است. مجتهد کسی است که حداقل دورههای سهگانه حوزوی را گذرانده و قادر به استنباط احکام فقهی باشد. اما فقیه مجتهدی است که علاوه بر این در علم فقه تسلط دارد و صاحبنظر و نوآوراست و مرادف با دانشمند است.
شرایط فقیه
فقیه باید علوم یادشده در زیر، آشنایی کافی داشته باشد:
فقه
اصول فقه
قواعد فقهیه
علم حدیث
علم رجال
علم درایه
دستور زبان عربی
منطق
تفسیر آیات الاحکام در قرآن
فقه اللغة
فقیه جامع الشرایط
به مجتهد و فقیهی که علاوه بر بعد فقاهت و تسلط بر علوم مذکور، حائز شرایط دیگری مانند عدالت، مدیریت، آشنایی به وضعیت جهان اسلام و تقوا باشد، فقیه جامع الشرایط می گویند.
فقیه مرجع
از میان فقیهان جامع الشرایط، آنکه از دیگران اعلم و متخصص تر در علوم لازم برای اجتهاد باشد، فقیه مرجع، یا مرجع تقلید نامیده می شود.
خط مشی جاوا
یکی از ویژگیهای جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سختافزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره میکند، اما نه بهصورت کد ماشین بلکه بهصورت بایتکد جاوا. دستورالعملها شبیه کد ماشین هستند، اما با ماشینهای مجازی که به طور خاص برای سختافزارهای مختلف نوشته شدهاند، اجرا میشوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده میکند. کتابخانههای استاندارد یک راه عمومی برای دسترسی به ویژگیهای خاص فراهم میکنند. مانند گرافیک، نخکشی و شبکه. در بعضی از نسخههای ماشین مجازی جاوا، بایتکدها میتوانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایتکد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامههای ترجمه شده تقریباً همیشه کندتر از برنامههای کامپایل شدهٔ محلی اجرا میشوند. این شکاف میتواند با چند تکنیک خوشبینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیکها JIT است که بایتکد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان میکند. در نتیجه برنامه خیلی سریعتر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا میشود. بیشتر VMهای پیشرفته، بهصورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینهسازی قسمتهای برنامه، استفاده میشوند. کامپایل مجدد پویا میتواند کامپایل ایستا را بهینهسازی کند. زیرا میتواند قسمت hot spot برنامه و گاهی حلقههای داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامههای جاوا اجازه میدهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.
تکنیک بعدی به عنوان کامپایل ایستا شناخته شدهاست. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایتکدها را به کدهای شی محلی ترجمه میکند.
کارایی جاوا نسبت به نسخههای اولیه بیشتر شد. در تعدادی از تستها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمیدهند. یکی از پیشرفتهای بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمیکردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ میدهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت میکنند.
پیادهسازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستمعامل). دادهاست. همچنین محیطهای دیگری برای دیگر پلت فرمها فراهم آوردهاست. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیادهسازیها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیادهسازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگیهای خاصی را برای خودش اضافه کردهاست. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمیتواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخههای دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه
جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده میکند. برنامهنویس زمانی که اشیا به وجود میآیند، این حافظه را تعیین میکند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظهاست. زمانی که مرجعی برای شیهای باقیمانده نیست، شیهای غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب میشوند. اگر برنامهنویس مقداری از حافظه را برای شیهایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق میافتند.
یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامهنویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده میگیرد. در بعضی از زبانها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده میشود. و یا بهطور صریح اختصاص داده شده و از heap بازگردانده میشود. در هر کدام از این راهها، مسئولیت ادارهٔ اقامت حافظه با برنامهنویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق میافتد. اگر برنامه تلاش کند به حافظهای را که هماکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بیثبات شده و یا تخریب شود. این ممکن است با استفاده از اشارهگر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد میشود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. بهطوری که این زمانی اتفاق میافتد که برنامه بیکار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده میشوند.
جاوا از نوع اشارهگر ریاضی C و ++C پشتیبانی نمیکند. در جایی که آدرس اشیا و اعداد صحیح میتوانند به جای هم استفاده شوند. همانند ++C و بعضی زبانهای شیگرای دیگر، متغیرهای نوعهای اولیهٔ جاوا شیگرا نبودند. مقدار نوعهای اولیه، مستقیماً در فیلدها ذخیره میشوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده میشود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شیگرای خالص به حساب نمیآید.
گرامر
گرامر جاوا وسیعتر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شیگرایی، زبان جاوا یک زبان شیگرای خالص میباشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگیها را پشتیبانی میکند و از کلاسها برای سادهتر کردن برنامهنویسی و کاهش خطا استفاده میکند.
بر طبق قرارداد فایل هل بعد از کلاسهای عمومی نام گذاری میشوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد میشود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما میتواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.
کلاسی که به صورت خصوصی تعریف میشود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف میشود یک کلاس فایل تولید میکند. که نام این کلاس فایل همنام کلاس است با پسوند.class
کلمه کلیدی public (عمومی) برای قسمتهایی که میتوانند از کدهای کلاسهای دیگر صدا زده بشوند، به کار برده میشود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونههایی از کلاس، نشان میدهد. فقط تابعهای ایستا میتوانند توسط اشیا بدون مرجع صدا زده شوند. دادههای ایستا به متغیرهایی که ایستا نیستند، نمیتوانند دسترسی داشته باشند.
کلمهٔ کلیدی void (تهی) نشان میدهد که تابع main هیچ مقداری را بر نمیگرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا میزند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.
تابع main باید آرایهای از اشیا رشتهای را بپذیرد. تابع main میتواند از آرگومانهای متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه میدهد اعدادی دلخواه از اشیا رشتهای را فراخوانی کند. پارامترstring[]args آرایهای از اشیا رشته ایست که شامل تمام آرگومانهایی که به کلاس فرستاده میشود، است.
چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کردهاست. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه میکند.
توزیعهای جاوا
منظور از توزیع جاوا پیادهسازیهای مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانههای استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیعکنندهٔ عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن میباشد. در اکثر موارد هنگامی که گفته میشود جاوا منظور توزیع سان میباشد.
GNU Classpath: این توزیع از سوی موسسه نرمافزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهرهگیری از توزیع شرکت سان از اول پیادهسازی شدهاست. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شدهاست. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیطهای احرایی برنامههای جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا میکند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرمافزارهای آزاد به صورت متن باز منتشر کردهاست و قول انتشار قسمت بسیار کوچکی از این مجموعه را که بهدلیل استفاده از کدهای شرکتهای ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها دادهاست.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه میباشد که توسط مایکروسافت و در چارچوب.net ارائه شدهاست. انتظار اینکه در سیستمعاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی میباشد که امکان برنامه نویسی Aspect Oriented را به جاوا میافزاید. این برنامه توسط بنیاد برنامهنویسی جلوهگرا و به صورت کدباز ارائه شدهاست.
کلاسهای خاص
برنامک (برنامههای کاربردی کوچک)
اپلت جاواها برنامههایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شدهاند. واژهٔ import باعث میشود کامپایلر جاوا کلاسهای javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه میدهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست میکند. کلاس اپلت یک تابع پنجرهای مجرد است که برنامههای کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم میکند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل میکند، برای اینکه کدی که اپلت را نمایش میدهد، فراهم کند. تابع paint شیهای گرافیکی را که شامل زمینههای گرافیکی هستند را میفرستد تا برای نمایش اپلتها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا میزند.
جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم میکند. و شامل مکانیزمهایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستمهای تجاری موجود است.servlet قسمتی از javaEE است که به درخواستهای مشتری پاسخ میدهد.
واژهٔ import کامپایلر جاوا را هدایت میکند که تمام کلاسهای عمومی و واسطها را از بستههای java.io وjava.servlet را در کامپایل وارد کند.
کلاس Hello کلاس Genericservlet را توسعه میدهد. کلاس Genericservlet واسطی برای سرور فراهم میکند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید میکند. نوعاً صفحات HTML به درخواستهای HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه میکنند.JSP به javaservlet کامپایل میشود.
سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شدهاند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد میکند.
اولین جملهٔ import کامپایلر جاوا را هدایت میکندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاسهای عمومی و واسط آنها را از بستهٔ javax.swing اضافه میکند. کلاس Hello کلاس Jframe را توسعه میدهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.
زمانی که برنامه آغاز میشود، تابع main با JVM صدا زده میشود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده میشود.
یکی از ویژگیهای جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سختافزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره میکند، اما نه بهصورت کد ماشین بلکه بهصورت بایتکد جاوا. دستورالعملها شبیه کد ماشین هستند، اما با ماشینهای مجازی که به طور خاص برای سختافزارهای مختلف نوشته شدهاند، اجرا میشوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده میکند. کتابخانههای استاندارد یک راه عمومی برای دسترسی به ویژگیهای خاص فراهم میکنند. مانند گرافیک، نخکشی و شبکه. در بعضی از نسخههای ماشین مجازی جاوا، بایتکدها میتوانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایتکد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامههای ترجمه شده تقریباً همیشه کندتر از برنامههای کامپایل شدهٔ محلی اجرا میشوند. این شکاف میتواند با چند تکنیک خوشبینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیکها JIT است که بایتکد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان میکند. در نتیجه برنامه خیلی سریعتر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا میشود. بیشتر VMهای پیشرفته، بهصورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینهسازی قسمتهای برنامه، استفاده میشوند. کامپایل مجدد پویا میتواند کامپایل ایستا را بهینهسازی کند. زیرا میتواند قسمت hot spot برنامه و گاهی حلقههای داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامههای جاوا اجازه میدهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.
تکنیک بعدی به عنوان کامپایل ایستا شناخته شدهاست. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایتکدها را به کدهای شی محلی ترجمه میکند.
کارایی جاوا نسبت به نسخههای اولیه بیشتر شد. در تعدادی از تستها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمیدهند. یکی از پیشرفتهای بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمیکردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ میدهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت میکنند.
پیادهسازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستمعامل). دادهاست. همچنین محیطهای دیگری برای دیگر پلت فرمها فراهم آوردهاست. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیادهسازیها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیادهسازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگیهای خاصی را برای خودش اضافه کردهاست. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمیتواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخههای دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه
جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده میکند. برنامهنویس زمانی که اشیا به وجود میآیند، این حافظه را تعیین میکند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظهاست. زمانی که مرجعی برای شیهای باقیمانده نیست، شیهای غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب میشوند. اگر برنامهنویس مقداری از حافظه را برای شیهایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق میافتند.
یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامهنویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده میگیرد. در بعضی از زبانها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده میشود. و یا بهطور صریح اختصاص داده شده و از heap بازگردانده میشود. در هر کدام از این راهها، مسئولیت ادارهٔ اقامت حافظه با برنامهنویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق میافتد. اگر برنامه تلاش کند به حافظهای را که هماکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بیثبات شده و یا تخریب شود. این ممکن است با استفاده از اشارهگر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد میشود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. بهطوری که این زمانی اتفاق میافتد که برنامه بیکار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده میشوند.
جاوا از نوع اشارهگر ریاضی C و ++C پشتیبانی نمیکند. در جایی که آدرس اشیا و اعداد صحیح میتوانند به جای هم استفاده شوند. همانند ++C و بعضی زبانهای شیگرای دیگر، متغیرهای نوعهای اولیهٔ جاوا شیگرا نبودند. مقدار نوعهای اولیه، مستقیماً در فیلدها ذخیره میشوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده میشود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شیگرای خالص به حساب نمیآید.
گرامر
گرامر جاوا وسیعتر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شیگرایی، زبان جاوا یک زبان شیگرای خالص میباشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگیها را پشتیبانی میکند و از کلاسها برای سادهتر کردن برنامهنویسی و کاهش خطا استفاده میکند.
بر طبق قرارداد فایل هل بعد از کلاسهای عمومی نام گذاری میشوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد میشود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما میتواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.
کلاسی که به صورت خصوصی تعریف میشود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف میشود یک کلاس فایل تولید میکند. که نام این کلاس فایل همنام کلاس است با پسوند.class
کلمه کلیدی public (عمومی) برای قسمتهایی که میتوانند از کدهای کلاسهای دیگر صدا زده بشوند، به کار برده میشود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونههایی از کلاس، نشان میدهد. فقط تابعهای ایستا میتوانند توسط اشیا بدون مرجع صدا زده شوند. دادههای ایستا به متغیرهایی که ایستا نیستند، نمیتوانند دسترسی داشته باشند.
کلمهٔ کلیدی void (تهی) نشان میدهد که تابع main هیچ مقداری را بر نمیگرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا میزند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.
تابع main باید آرایهای از اشیا رشتهای را بپذیرد. تابع main میتواند از آرگومانهای متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه میدهد اعدادی دلخواه از اشیا رشتهای را فراخوانی کند. پارامترstring[]args آرایهای از اشیا رشته ایست که شامل تمام آرگومانهایی که به کلاس فرستاده میشود، است.
چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کردهاست. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه میکند.
توزیعهای جاوا
منظور از توزیع جاوا پیادهسازیهای مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانههای استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیعکنندهٔ عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن میباشد. در اکثر موارد هنگامی که گفته میشود جاوا منظور توزیع سان میباشد.
GNU Classpath: این توزیع از سوی موسسه نرمافزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهرهگیری از توزیع شرکت سان از اول پیادهسازی شدهاست. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شدهاست. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیطهای احرایی برنامههای جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا میکند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرمافزارهای آزاد به صورت متن باز منتشر کردهاست و قول انتشار قسمت بسیار کوچکی از این مجموعه را که بهدلیل استفاده از کدهای شرکتهای ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها دادهاست.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه میباشد که توسط مایکروسافت و در چارچوب.net ارائه شدهاست. انتظار اینکه در سیستمعاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی میباشد که امکان برنامه نویسی Aspect Oriented را به جاوا میافزاید. این برنامه توسط بنیاد برنامهنویسی جلوهگرا و به صورت کدباز ارائه شدهاست.
کلاسهای خاص
برنامک (برنامههای کاربردی کوچک)
اپلت جاواها برنامههایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شدهاند. واژهٔ import باعث میشود کامپایلر جاوا کلاسهای javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه میدهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست میکند. کلاس اپلت یک تابع پنجرهای مجرد است که برنامههای کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم میکند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل میکند، برای اینکه کدی که اپلت را نمایش میدهد، فراهم کند. تابع paint شیهای گرافیکی را که شامل زمینههای گرافیکی هستند را میفرستد تا برای نمایش اپلتها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا میزند.
جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم میکند. و شامل مکانیزمهایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستمهای تجاری موجود است.servlet قسمتی از javaEE است که به درخواستهای مشتری پاسخ میدهد.
واژهٔ import کامپایلر جاوا را هدایت میکند که تمام کلاسهای عمومی و واسطها را از بستههای java.io وjava.servlet را در کامپایل وارد کند.
کلاس Hello کلاس Genericservlet را توسعه میدهد. کلاس Genericservlet واسطی برای سرور فراهم میکند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید میکند. نوعاً صفحات HTML به درخواستهای HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه میکنند.JSP به javaservlet کامپایل میشود.
سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شدهاند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد میکند.
اولین جملهٔ import کامپایلر جاوا را هدایت میکندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاسهای عمومی و واسط آنها را از بستهٔ javax.swing اضافه میکند. کلاس Hello کلاس Jframe را توسعه میدهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.
زمانی که برنامه آغاز میشود، تابع main با JVM صدا زده میشود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده میشود.