عدالت برای CSS
در دفاع از دخترانه ترین زبان برنامه نویسی.
در یک پاراگراف، یک خواننده خاص در حال حاضر در توضیح من از CSS هوشمند خواهد بود. می شنوم که می گویند: «این یک زبان شیوه نامه است، نه یک زبان برنامه نویسی». (S دوم در واقع مخفف "sheets" است و C، اگر کسی اهمیت دهد، "Cascading" است.) یا، "این یک زبان دامنه خاص است، نه یک زبان همه منظوره." همچنین، «اجرا نمیشود» و البته «تورینگ کامل نیست» (اگرچه… ). البته CSS کمی متفاوت است. هیچ مرحله کامپایل وجود ندارد و مانند سایر زبان ها در زمان اجرا خطا ایجاد نمی کند.
اما همه اینها در کنار موضوع است. نگهبانی در مورد اینکه آیا CSS یک زبان برنامه نویسی "واقعی" است تا حدی به این دلیل وجود دارد که شروع آن بسیار ساده است - هرکسی می تواند فورا "پس زمینه: قرمز" را ایجاد کند. اما ساده به معنای آسان نیست، همانطور که برنامه نویس-نویسنده جرمی کیت مشاهده کرد، و گفتن CSS آسان یا غیر جدی باید تا به حال خسته شده باشد. حدود 50 ویژگی در مشخصات اولیه CSS در سال 1996 وجود داشت (مانند "رنگ" و "اندازه قلم"). امروزه تعداد آنها حداقل 10 برابر است (برای «نقطهگذاری آویزان» آماده شوید). این زبان در سه دهه بسیار تغییر کرده است و تا به حال بسیار توانا است.
یک برنامه نویس اخیرا Doom را در CSS دوباره ایجاد کرده است. دیگران از آن برای ساخت کارت های پوکمون هولوگرافیک و موتورهای رندر سه بعدی استفاده کرده اند. کسیدی ویلیامز، که در مسابقات افتتاحیه مارس MadCSS امسال شرکت کرد، یک موتور جستجوی پایگاه داده آزمایشی به طور کامل در CSS ساخت. هنگامی که او آن را در مایکروسافت بیلد به نمایش گذاشت، حتی emcees - برنامه نویسان باتجربه - یک عکس ارزان از CSS گرفتند. آنها با خشم گفتند: «شما یکی از افرادی هستید که آن را دوست دارید.
"شاید تو تنها کسی باشی." چرا افسانه ایجاد جاوا اسکریپت تا این حد معروف است (برندان ایچ، نت اسکیپ، 10 روز) و با این حال به سختی هیچ برنامه نویسی نام خالق CSS هاکون ویوم لی را تشخیص می دهد؟ ممکن است ربطی به این داشته باشد که لی یک مرد نروژی است که نامش را به زبان می آورد، نه یک آمریکایی در دره سیلیکون مانند ایچ یا یک بریتانیایی مانند تیم برنرز لی، که HTML را اختراع کرد. و اگر منصف باشیم، جاوا اسکریپت و HTML هر کدام یک تراشه روی شانه خود دارند که باید نگران آن باشند. اما در سه گانه مقدس مرورگر جاوا اسکریپت-HTML-CSS، مردم تمایل دارند CSS را کمتر یا صرفا تزئینی بدانند.
یک ظاهر طراحی می تواند تزیینی باشد - و به طرز شگفت انگیزی - اما خوانایی و طراحی غنی آن مهم است. مردم اهمیت می دهند که اوضاع چگونه است! توضیح زشت دیگری برای بی احترامی به CSS وجود دارد: این یک زبان "زنانه" در نظر گرفته می شود. توسعهدهندگان CSS در قسمت جلویی کار میکنند - بخشی از یک وبسایت که واقعا میتوانید ببینید.
این نکته واضح وجود دارد که پرداختن به سبک و زیبایی، کار زنانه است، همراه با شوخی بازیافتی که می گوید یک توسعه دهنده CSS «عجیب در برگه های سبک» است. اینکه یک زبان چقدر جدی گرفته میشود، تأثیرات بدی بر حقوق برنامهنویسان دارد، چه مهارتهایی در مصاحبههای شغلی جستجو و آزمایش میشوند، و چقدر وبسایتها برای افراد دارای معلولیت در دسترس هستند. اخیرا با یکی از دوستانم، یک مهندس با استعداد باطن، در این مورد صحبت کردم. در کالج، او یک دوره کارآموزی را در یک شرکت نرم افزاری معتبر در سانفرانسیسکو دریافت کرد که به طور کامل کارهای پشتیبان انجام می داد.
او به من گفت: «من هیچگاه هیچ علاقهای به فرانتند ابراز نکردهام، تقریبا تا حد زیادی». "من فرانت اند را دوست ندارم." و با این حال، هنگامی که او پس از فارغ التحصیلی به طور تمام وقت به شرکت ملحق شد، بلافاصله به او یک نقش پیشرو اختصاص داده شد. او در نهایت راه خود را به باطن بازگشت، و تا به حال به شک و تردید عادت کرده است.
من در یک میلیون و یک مکالمه با مهندس مرد کلاسیکی بودهام که فکر میکند من نمیدانم درباره چه چیزی صحبت میکنم تا زمانی که شش ماه با من کار کنند و اولین پروژه پشتیبان من را ببینند. وقتی برای اولین بار از دوستم پرسیدم که آیا او تجربه ای با افرادی داشت که فرض می کردند دختر CSS است، من این داستان خاص را نمی دانستم. اما "تصادف" واقعا یک احتمال بیشتر است. برای تصحیح بیش از حد چنین موقعیتهایی، او مجبور شده خود را بهعنوان بیگمان پشتیبان معرفی کند.
وقتی با هم کار میکردیم، هر زمان که زمان توزیع وظایف بین تیممان فرا میرسید، او کاملا واضح میگفت که نمیخواهد به قسمت جلویی دست بزند. (فکر نمیکنم ما تا به حال Nose Goes را بازی کنیم، اما این روحیه بود.) من واقعا اشتباه میکردم که مدیر او انجام داد. همان دوست قبلا در Kode With Klossy، یک اردوی فناوری برای زنان جوان و دانشجویانی که از نظر جنسیت گسترده بودند، تدریس می کرد که توسط سوپر مدل کارلی کلوس شروع شده بود.
تجربه او در آنجا همه چیز مربوط به طرف دیگر و خوش بینانه سکه بود: CSS می تواند دروازه ای به نرم افزار برای کسانی باشد که با کلیشه کامپیوتری-رایانه-پسر همخوانی ندارند. او گفت: «این دخترانی وارد میشوند که هیچ علاقهای به کدنویسی نداشتند، اما فکر میکردند کارلی کلوس باحال است، و آنها بسیار سرگرم خواهند شد.» "آنها بیشتر به این موضوع اهمیت می دهند، مانند، خوب، این چگونه کار می کند؟" در صنعت، رویکرد Klossy در تنوع جنسیتی کمی بهتر (اما هنوز واقعا بد) در مشاغل مهندسی پیشرو، در مقایسه با نقشهای پشتیبان و خالص، منعکس میشود.
از چند هزار پاسخدهنده در نظرسنجی State of CSS در سال گذشته، 11 درصد زن و 3 درصد غیردودویی یا ناسازگار با جنسیت بودند. رقت انگیز، می دانم. اما وضعیت جاوا اسکریپت تنها 6 درصد زن و 1 درصد غیر باینری گزارش کرده است. یکی دیگر از پیامدهای پایین دستی غفلت از CSS، یکسانی وب سایت ها در سراسر اینترنت، به ویژه در Startup-land است. اگر CSS چیزی است که یک وبسایت را شبیه خودش میکند، پس روش سریعتر فریمورکها چیزی است که همه آنها را شبیه به هم میکند. یک دوره بوت استرپ، یک ظاهر Tailwind و حالا یک زیبایی شناسی متمایز Claudeslop وجود داشت.
فریمورکها ورزشی هستند و اگر اهل مد نیستید، میانبری برای خوب به نظر رسیدن هستند. به اندازه کافی منصفانه اما من را آزار می دهد، همان طور که خاکستری شدن ماشین های آمریکایی در مقایسه با آن عکس های قدیمی پارکینگ های فنی کالر مرا آزار می دهد. WIRED یکی از اولین سایت های بزرگ و پربازدید بود که CSS را پذیرفت. WIRED اعلام کرد که "سایتی برای چشمان شما" بود، و شد. اما در آن زمان، نه Flexbox و نه Grid، هیچ ویژگی سفارشی، و هیچ @keyframe، انتقال و تبدیل برای انیمیشنهای بدون جاوا اسکریپت وجود نداشت.
تنها در این دهه، بسیاری از ویژگیهای قدرتمند CSS در مرورگرها وارد شدهاند که حفظ آن سخت است. من متخصص CSS نیستم، اما به اندازه کافی می دانم که از صخره اعتماد به نفس بیش از حد در منحنی دانینگ-کروگر و دره احترام و احترام عبور کنم. من از چیزهای یکباره ای مانند «تکست-پوشش: زیبا» (که مانع از پایان دادن به یک پاراگراف یک کلمه یتیم چسبیده در خط خودش می شود) به همان اندازه از پیشرفت های گسترده مانند اعلان های تو در تو لذت می برم. تنها در چند سال گذشته، کوئری های کانتینری، شبه کلاس :has() و فضاهای رنگی جدیدی مانند oklch() دریافت کردیم.
CSS از زبان های راست به چپ مانند عبری و عربی پشتیبانی می کند. موقعیتیابی قطعات یک صفحه وب را برای ایجاد انیمیشنها و گرادیانهای بسیار خوب درونیابی میکند. و اکنون، با شرطهای if() و تابع @ در توسعه، حتی توضیحات "خوب، فنی" در مورد اینکه چرا CSS یک زبان برنامهنویسی قانونی نیست، ممکن است در نهایت متوقف شود. این CSS مادر شما نیست. این واقعیت که CSS برای شروع ساده است، در عین حال عمیق برای کاوش و تسلط، بخشی از این است که چرا من آن را بسیار دوست دارم. این نزدیکترین زبان ما به برنامه نویسی کاربر نهایی است، این ایده که نرم افزار باید توسط هر کاربری قابل تنظیم باشد.
برگه های سبک از این نظر مانند صفحات گسترده هستند: یک تازه کار می تواند چیزی مفید در یک ساعت بسازد، و متخصصان می توانند Doom لعنتی بسازند.
متن اصلی (انگلیسی)
Justice for CSS
In defense of the girliest programming language.