لولی‌پاپ Lollipop > معرفی

فلسفه Lollipop چیست؟

(1/3) > >>

vafa:
نام Lollipop برای اولین بار در دنیای تک، در کتاب TeX نوشته Donald Knuth آمد. در این کتاب در صفحه 365 نقل‌قولی از Alan Perlis وجود داره:

--- نقل قول ---When someone says, "I want a programming language
in which I need only say what I wish done,"
give him a lollipop.


 Alan Perlis, Epigrams on Programming (1982)

--- End quote ---
برای اینکه فلسفه Lollipop رو توضیح بدیم اول نکاهی به طراحی لاتک کنیم. در لاتک برای اینکه طرح‌های مختلفی برای ظاهر نوشتار وجود داره، بسته‌ها و کلاس‌های متعددی وجود داره و جالب اینجاست که بیشتر افراد با چیزی که لاتک در اخیارشون قرار می‌ده راضی نیستند و بسته یا کلاس خودشون رو طراحی می‌کنند. حقیقتی که تعداد بیشماری بسته و کلاس برای لاتک وجود داره این رو اثبات می‌کنه و همینطور اثبات می‌کنه که فلسفه لاتک از ریشه اشتباه است. شخصی که بخواد برای مثال ظاهر chapter را در کلاس book تغییر بده، باید مقدار قابل‌توجهی برنامه‌نویسی به زبان تک بلد باشه و به قول معروف باید دستهاش رو کثیف کنه.

فلسفه Lollipop ضد فلسفه لاتک هست. Lollipop کلاسی در اختیار شما قرار نمی‌ده چون ما می‌دونیم که این کار بیهوده‌ای و افراد با سلیقه‌های متفوت، دنبال چیزهای متفاون هستند. در عوض Lollipop برنامه‌نویسی در تک رو برای شما آسان می‌کنه، اون هم خیلی آسان و شما احتیاجی به دانستن زبان برنامه‌نویسی تک ندارید. اگر یک کاربر ساده باشید و قصد دارید برای نوشتن کتابتون یک استایل طراحی کنید، انجام این کار با Lollipop به یک ساعت هم نخواهد کشید، حالا مقایسه کنید برای انجام این کار چقدر باید وقت صرف لاتک کنید.

یک مثال کوچک: در لاتک برای نوشتن کتاب از کلاس book استفاده می‌کنید ظاهر فصل‌ها رو دوست ندارید و می‌خواهید تغییرش بدهید. حالا جقدر باید سختی بکشید کد از کلاس book کپی کنید، با چه مشقتی بفهمید هر کدام از کدها چه کاری انجام می‌دهند و با آزمون و خطا کار خودتون رو انجام بدهید که زمان بسیار زیادی می‌خواهد.

در عوض در Lollipo چیزی به نام کلاس book وجود نداره. ما به شما آزادی کامل می‌دهیم و شما می‌تونید استایل خودتون رو طراحی کنید. دستور \chapter در lollipop تعریف نشده اما شما خیلی راحت و در کمتر از ۵ دقیقه می‌تونید ظاهر مورد نظر خودتون رو برای فصل و بدون اینکه به زبان تک، برنامه‌نویسی کنید، داشته باشید:


--- کد: ---\DefineHeading:Chapter
    breakbefore:yes whiteafter:20pt
    line:start PointSize:14 Style:bold literal:Chapter
        Spaces:1 ChapterCounter line:stop
    vwhite:15pt
    line:start PointSize:16 Style:bold title line:stop
    external:contents title external:stop
    Stop
   
\Start
\Chapter Limits

In this chapter, we learn about limits.
\Stop

--- End code ---
به همن راحتی بدون دوسنتن کوچکترین برنامه‌نویسی به زبان تک. و برای گرفتن PDF از دستور

--- کد: ---lollipop filename.tex

--- End code ---
استفاده می‌کنید.

هادی صفی‌اقدم:
سلام
با آرزوی موفقیت در این پروٰژه.
این کدهایی که گذاشتین رو باید بلد باشیم یا به حالت gui دکمه‌هایی هست که وقتی می‌زنیم، این کدها خودشون میان یا ...؟

فرشاد ترابی:

--- نقل قول از: هادی صفی‌اقدم در آوریل 05, 2014, 08:48:59 am ---سلام
با آرزوی موفقیت در این پروٰژه.
این کدهایی که گذاشتین رو باید بلد باشیم یا به حالت gui دکمه‌هایی هست که وقتی می‌زنیم، این کدها خودشون میان یا ...؟

--- End quote ---
چیزی که lollipop داره در مورد اون صحبت می‌کنه را باید با موتورهای مختلف نظیر xelatex مقایسه کرد. بنابراین وجود GUI  برای آن بی معنی است.
برای تولید GUI باید با توسعه دهندگان Editor  صحبت کرد. اگرچه بد نیست در این مورد کسانی هم همکاری کنند و یک ادیتور دوچهته سازگار در کنار این پروژه توسعه بدهند.

هادی صفی‌اقدم:

--- نقل قول از: فرشاد ترابی در آوریل 05, 2014, 09:21:32 am ---چیزی که lollipop داره در مورد اون صحبت می‌کنه را باید با موتورهای مختلف نظیر xelatex مقایسه کرد. بنابراین وجود GUI  برای آن بی معنی است.
برای تولید GUI باید با توسعه دهندگان Editor  صحبت کرد. اگرچه بد نیست در این مورد کسانی هم همکاری کنند و یک ادیتور دوچهته سازگار در کنار این پروژه توسعه بدهند.

--- End quote ---
چون دکتر کارن‌پهلو گفتن که کاربر دیگه نیاز نیست با کدها درگیر بشه،
ولی در مثال بالا کدهایی برای تغییر فونت فصل هست،
من فکر می‌کنم حتما باید چیزی باشه که این کدها رو بدون دونستن کاربر از خصوصیات کدها به کاربر بده.
یا اینکه ادیتوری هست که اینا رو به کاربر بدون دونستن علم این کدها میده؟

vafa:

--- نقل قول از: هادی صفی‌اقدم در آوریل 05, 2014, 09:27:57 am ---چون دکتر کارن‌پهلو گفتن که کاربر دیگه نیاز نیست با کدها درگیر بشه،
ولی در مثال بالا کدهایی برای تغییر فونت فصل هست،
من فکر می‌کنم حتما باید چیزی باشه که این کدها رو بدون دونستن کاربر از خصوصیات کدها به کاربر بده.
یا اینکه ادیتوری هست که اینا رو به کاربر بدون دونستن علم این کدها میده؟

--- End quote ---
منظور من این بود که برنامه‌نویسی در تک تا حد خیلی زیادی آسون میشه اما باید کد بنویسی اما نوشتن این کد خیلی راحته.

کنترل

[0] صندوق پستی

[#] صفحه بعدی

Go to full version