چند سال پیش کتاب "مقدمه‌ای بر نظریه ریسمان" را خواندم.
در آن کتاب، ریسمان‌ها بخشی از فضازمان عادی بودند، به علاوه برای سازگاری، ابعاد اضافی. ذرات اسپین ۲ به طور طبیعی پدیدار شدند و به همین ترتیب، نسبیت عام.
در آن زمان به آن فکر نکردم (بازی با کلمات است)، اما اخیراً بحثی در مورد ماهیت زمان با حضور میچیئو کاکو دیدم. او ادعا کرد که مفهوم زمان از نظریه ریسمان پدید آمده است. دیگران این ادعا را رد کردند و گفتند چگونه می‌توان ریسمان‌های ارتعاشی بدون زمان داشت. کاکو سکوت کرد، اما من فکر کردم که حتماً دلیلی برای این حرف او وجود دارد.
بنابراین کمی تحقیق کردم، از جمله مرور اجمالی کتاب "مقدمه‌ای بر نظریه ریسمان". متن خیلی چیز روشنی را نشان نداد، اما سخنرانی زیر را کشف کردم:
همچنین کتاب زیر را خریدم (که به نظر می‌رسد روز جمعه آینده می‌رسد):
https://www.amazon.com.au/Emergence-Spacetime-String-Theory/dp/1032177926?tag=pfamazon01-20
باید جالب باشد. قصد دارم ویدیو را تماشا کنم.
با تشکر
بیل

---

bhobba گفت:
او ادعا کرد که مفهوم زمان از نظریه ریسمان پدید آمده است.

من کنجکاو می‌شوم که مبنای این ادعا چیست، زیرا تا جایی که من می‌فهمم، مدل‌های نظریه ریسمان هنوز یک بعد زمان‌مانند دارند. منحنی‌ها/بردارها/و غیره زمان‌مانند به خودی خود از یک مدل زیرین پدید نمی‌آیند. به عنوان مثال، در مدل ۱۱ بعدی که به نظر می‌رسد مبنای نظریه M است، ۱۰ بعد فضا-مانند و یک بعد زمان‌مانند وجود دارد.

---

PeterDonis گفت:
در مدل ۱۱ بعدی که به نظر می‌رسد مبنای نظریه M است، ۱۰ بعد فضا-مانند و یک بعد زمان‌مانند وجود دارد.

بله.
من ویدیو را تماشا کردم و کاملاً واضح نیست که چه اتفاقی می‌افتد.
ویدیو توضیح داد که فضازمان در نظریه ریسمان بسیار پیچیده‌تر از فیزیک کلاسیک است. اما باز هم نسبیت عام پدیدار می‌شود.
این با ادعای اینکه نظریه ریسمان زمان (یا فضازمان) را توضیح می‌دهد، یکسان نیست.
فکر می‌کنم باید منتظر رسیدن کتاب بمانم.
موارد زیر را پیدا کردم که ممکن است قبل از رسیدن کتاب، به روشن شدن موضوع کمک کند:
https://beyondspacetime.net/publica...-of-spacetime-in-quantum-theories-of-gravity/
به سمت ناهار با تاخیر می‌روم - هنوز هم یک ویدیوی جذاب است.
با تشکر
بیل

---

این (پدیدار شدن زمان) قطعاً بخشی از فرمول‌بندی استاندارد نظریه ریسمان نیست. اما نظریه ریسمان کمی عجیب است، زیرا از یک ریسمان در یک فضازمان تخت شروع می‌کنید، که در آن گراویتون‌ها بخشی از طیف هستند. یک حالت منسجم از این گراویتون‌ها را می‌توان ساخت که یک ریسمان را در یک پس‌زمینه خمیده توصیف می‌کند. از این نظر شبیه نظریه فیِرْز-پائولی است که در آن یک فرمول‌بندی وابسته به پس‌زمینه می‌تواند (با در نظر گرفتن برخی جزئیات فنی) به یک نظریه مستقل از پس‌زمینه منجر شود. به نظر من این همیشه نشان می‌داد که نظریه ریسمان می‌خواهد به ما در مورد ماهیت فضا(زمان) بگوید، که اکنون در برنامه "فضا-زمان از درهم‌تنیدگی" به نظر می‌رسد که اینطور است (همانطور که هوروویتز نیز در سخنرانی خود به آن اشاره می‌کند).

---

فقط یک تأمل سریع:
پدیدار شدن یکی از کلمات پرطمطراق است و در نظریه ریسمان فکر می‌کنم می‌توان گفت که فضازمان ۴ بعدی از یک فضازمان ۱۱ بعدی از طریق فشردگی‌ها پدید می‌آید، اما این شامل یک مشکل تنظیم دقیق است. بنابراین، حداقل برای من، ارزش توضیحی آن قابل سوال است.
خود ۱۱ بعدی، تا جایی که من می‌دانم، به عنوان بخشی از نظریه ریسمان پدیدار نمی‌شوند، بلکه برای سازگاری در آن قرار داده شده‌اند.
_
(امید من در نظریه ریسمان، پیچش‌های جالب در نظریه ریسمان و دوگانگی‌های مختلف است که می‌توانند تکرار شوند. جایی که ابعاد می‌توانند با پویایی‌های مختلف مبادله شوند.) این به طور بالقوه جالب است._
این به ذهنم می‌رسد:
https://math.ucr.edu/home/baez/nth_quantization.html
ارتباط مفهومی که همیشه با این ایده‌ها داشته‌ام این است که "ابعاد" صرفاً به عنوان یک "شاخص" پیوسته دیده می‌شوند و می‌توانند با فهرست کردن "حالت‌های میدان" ایجاد شوند. بنابراین، با شروع یک ۰-برین در یک فضازمان ۱ بعدی، می‌توانید ابعاد را با اعمال کوانتیزاسیون افزایش دهید. به این ترتیب، عدم قطعیت قبلی که غیرقابل تشخیص بود، قابل تشخیص می‌شود و "ابعاد" جدیدی ایجاد می‌کند. (نحوه امکان‌پذیر بودن این امر به هر رویکردی برای توضیح آن بستگی دارد.) به طور مفهومی، اینگونه تصور می‌کنم پدیدار شدن ابعاد به طور کلی است. اما برای اینکه این امر رضایت‌بخش باشد، فکر می‌کنم نباید آن را با هیجان‌زده کردن ابعاد بالاتر موجود توضیح داد، زیرا این شما را به دام تنظیم دقیق می‌اندازد. مطمئن نیستم که آیا کار واقعی در این جهت در جامعه ریسمان وجود دارد یا خیر. مشکل اصلی که برای نظریه ریسمان در این زمینه می‌بینم این است که از ابتدا در تداوم شروع می‌کند، بنابراین همه چیز از ابتدا غیرقابل شمارش است، چه یک بعد داشته باشید و چه ۱۱ بعد، و سپس همیشه تعجب می‌کنم - غیرقابل شمارش از دیدگاه چه کسی؟)
/فردریک

---

کاکو ممکن است در مورد مدل ماتریسی IKKT صحبت کند، به اسلاید ۱۶ در اینجا مراجعه کنید تا چیزی در مورد اینکه چگونه مدل به نظر می‌رسد اقلیدسی است اما راهی برای تعریف زمان وجود دارد. من هنوز آن را مطالعه نکرده‌ام.
IKKT یک مدل ژاپنی است و کار ژاپنی در نظریه ریسمان گاهی اوقات در غرب نادیده گرفته می‌شود.

---

bhobba گفت:
او ادعا کرد که مفهوم زمان از نظریه ریسمان پدید آمده است.

من می‌خواهم بدانم مبنای این ادعا چیست، زیرا تا جایی که من می‌فهمم، مدل‌های نظریه ریسمان هنوز یک بعد زمان‌مانند دارند. منحنی‌های زمان‌مانند/بردارها/و غیره به خودی خود از یک مدل زیرین پدید نمی‌آیند. به عنوان مثال، در مدل ۱۱ بعدی که به نظر می‌رسد مبنای نظریه M است، ۱۰ بعد فضا-مانند و یک بعد زمان‌مانند وجود دارد.

---

PeterDonis گفت:
در مدل ۱۱ بعدی که به نظر می‌رسد مبنای نظریه M است، ۱۰ بعد فضا-مانند و یک بعد زمان‌مانند وجود دارد.

بله.
من ویدیو را تماشا کردم و کاملاً واضح نیست که چه اتفاقی می‌افتد.
ویدیو توضیح داد که فضازمان در نظریه ریسمان بسیار پیچیده‌تر از فیزیک کلاسیک است. اما باز هم نسبیت عام پدیدار می‌شود.
این با ادعای اینکه نظریه ریسمان زمان (یا فضازمان) را توضیح می‌دهد، یکسان نیست.
فکر می‌کنم باید منتظر رسیدن کتاب بمانم.
موارد زیر را پیدا کردم که ممکن است قبل از رسیدن کتاب، به روشن شدن موضوع کمک کند:
https://beyondspacetime.net/publica...-of-spacetime-in-quantum-theories-of-gravity/
به سمت ناهار با تاخیر می‌روم - هنوز هم یک ویدیوی جذاب است.
با تشکر
بیل

---

قطعاً بخشی از فرمول‌بندی استاندارد نظریه ریسمان نیست. اما نظریه ریسمان کمی عجیب است، زیرا از یک ریسمان در یک فضازمان تخت شروع می‌کنید، که در آن گراویتون‌ها بخشی از طیف هستند. یک حالت منسجم از این گراویتون‌ها را می‌توان ساخت که یک ریسمان را در یک پس‌زمینه خمیده توصیف می‌کند. از این نظر شبیه نظریه فیِرْز-پائولی است که در آن یک فرمول‌بندی وابسته به پس‌زمینه می‌تواند (با در نظر گرفتن برخی جزئیات فنی) به یک نظریه مستقل از پس‌زمینه منجر شود. به نظر من این همیشه نشان می‌داد که نظریه ریسمان می‌خواهد به ما در مورد ماهیت فضا(زمان) بگوید، که اکنون در برنامه "فضا-زمان از درهم‌تنیدگی" به نظر می‌رسد که اینطور است (همانطور که هوروویتز نیز در سخنرانی خود به آن اشاره می‌کند).

---

فقط یک تأمل سریع:
پدیدار شدن یکی از کلمات پرطمطراق است و در نظریه ریسمان فکر می‌کنم می‌توان گفت که فضازمان ۴ بعدی از یک فضازمان ۱۱ بعدی از طریق فشردگی‌ها پدید می‌آید، اما این شامل یک مشکل تنظیم دقیق است. بنابراین، حداقل برای من، ارزش توضیحی آن قابل سوال است.
خود ۱۱ بعدی، تا جایی که من می‌دانم، به عنوان بخشی از نظریه ریسمان پدیدار نمی‌شوند، بلکه برای سازگاری در آن قرار داده شده‌اند.
_
(امید من در نظریه ریسمان، پیچش‌های جالب در نظریه ریسمان و دوگانگی‌های مختلف است که می‌توانند تکرار شوند. جایی که ابعاد می‌توانند با پویایی‌های مختلف مبادله شوند.) این به طور بالقوه جالب است._
این به ذهنم می‌رسد:
https://math.ucr.edu/home/baez/nth_quantization.html
ارتباط مفهومی که همیشه با این ایده‌ها داشته‌ام این است که "ابعاد" صرفاً به عنوان یک "شاخص" پیوسته دیده می‌شوند و می‌توانند با فهرست کردن "حالت‌های میدان" ایجاد شوند. بنابراین، با شروع یک ۰-برین در یک فضازمان ۱ بعدی، می‌توانید ابعاد را با اعمال کوانتیزاسیون افزایش دهید. به این ترتیب، عدم قطعیت قبلی که غیرقابل تشخیص بود، قابل تشخیص می‌شود و "ابعاد" جدیدی ایجاد می‌کند. (نحوه امکان‌پذیر بودن این امر به هر رویکردی برای توضیح آن بستگی دارد.) به طور مفهومی، اینگونه تصور می‌کنم پدیدار شدن ابعاد به طور کلی است. اما برای اینکه این امر رضایت‌بخش باشد، فکر می‌کنم نباید آن را با هیجان‌زده کردن ابعاد بالاتر موجود توضیح داد، زیرا این شما را به دام تنظیم دقیق می‌اندازد. مطمئن نیستم که آیا کار واقعی در این جهت در جامعه ریسمان وجود دارد یا خیر. مشکل اصلی که برای نظریه ریسمان در این زمینه می‌بینم این است که از ابتدا در تداوم شروع می‌کند، بنابراین همه چیز از ابتدا غیرقابل شمارش است، چه یک بعد داشته باشید و چه ۱۱ بعد، و سپس همیشه تعجب می‌کنم - غیرقابل شمارش از دیدگاه چه کسی؟)
/فردریک

---

کاکو ممکن است در مورد مدل ماتریسی IKKT صحبت کند، به اسلاید ۱۶ در اینجا مراجعه کنید تا چیزی در مورد اینکه چگونه مدل به نظر می‌رسد اقلیدسی است اما راهی برای تعریف زمان وجود دارد. من هنوز آن را مطالعه نکرده‌ام.
IKKT یک مدل ژاپنی است و کار ژاپنی در نظریه ریسمان گاهی اوقات در غرب نادیده گرفته می‌شود.

---

bhobba گفت:
او ادعا کرد که مفهوم زمان از نظریه ریسمان پدید آمده است.

آیا این بحث به صورت آنلاین در دسترس است؟

---

Kontilera گفت:
آیا این بحث به صورت آنلاین در دسترس است؟

بله، در موسسه هنرها و ایده‌ها.
با این حال، به عنوان یک مربی، اکنون احساس می‌کنم میچیئو کاکو قطعاً استانداردهای ما را برآورده می‌کند، برخی دیگر در این بحث در مورد زمان اینطور نیستند. به این دلیل، احساس نمی‌کنم که ترویج آن راحت باشد.
با تشکر
بیل

---

bhobba گفت:
میچیئو کاکو قطعاً استانداردهای ما را برآورده می‌کند

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

---

من دیدگاه بدبینانه‌ای در مورد هر چیزی که یک نظریه‌پرداز ریسمان در مورد GR می‌گوید دارم. با این حال، مفهوم پدیدار شدن آن‌ها را به بهترین شکل در بخش ۴ در اینجا توضیح داده شده است: https://arxiv.org/pdf/1904.03234.pdf (اگرچه این در مورد پدیدار شدن "زمان" نیست، بلکه فقط در مورد حال و هوای کلی پدیدار شدن است).

---

Vanadium 50
کارمند بازنشسته
مشاور علمی
مشاور آموزشی
جایزه سال ۲۰۲۳
اگر میچیئو کاکو به من می‌گفت مادرم من را دوست دارد، آن را بررسی می‌کردم. او... چیزهای زیادی می‌گوید.

---

Vanadium 50 گفت:
اگر میچیئو کاکو به من می‌گفت مادرم من را دوست دارد، آن را بررسی می‌کردم. او... چیزهای زیادی می‌گوید.

از هشدار شما متشکرم. فکر می‌کردم او در اردوگاه قابل اعتماد است، اما به نظر می‌رسد باید دوباره فکر کنم. زندگی و یادگیری.
با تشکر
بیل

---

romsofia گفت:
من دیدگاه بدبینانه‌ای در مورد هر چیزی که یک نظریه‌پرداز ریسمان در مورد GR می‌گوید دارم. با این حال، مفهوم پدیدار شدن آن‌ها را به بهترین شکل در بخش ۴ در اینجا توضیح داده شده است: https://arxiv.org/pdf/1904.03234.pdf (اگرچه این در مورد پدیدار شدن "زمان" نیست، بلکه فقط در مورد حال و هوای کلی پدیدار شدن است).

فقط آن را خواندم. درست می‌گویید.
مقاله خوبی است، البته.
سر من از تمام مطالب نظریه ریسمانی که سال‌ها پیش در "مقدمه‌ای بر نظریه ریسمان" خواندم، درد می‌کند. من هنوز هم آن را به عنوان یک کتاب توصیه می‌کنم.
با تشکر
بیل

---

Jan 1, 2024
14

romsofia گفت:
من دیدگاه بدبینانه‌ای در مورد هر چیزی که یک نظریه‌پرداز ریسمان در مورد GR می‌گوید دارم. با این حال، مفهوم پدیدار شدن آن‌ها را به بهترین شکل در بخش ۴ در اینجا توضیح داده شده است: https://arxiv.org/pdf/1904.03234.pdf (اگرچه این در مورد پدیدار شدن "زمان" نیست، بلکه فقط در مورد حال و هوای کلی پدیدار شدن است).

در صفحه ۱۴ (مفهوم پدیدار شدن) می‌نویسند..
"در ادبیات فلسفی، دیدگاه گسترده‌ای در مورد پدیدار شدن به عنوان یک 'تعادل ظریف' بین وابستگی یا ریشه‌دار بودن و استقلال یا خودمختاری وجود دارد. به طور خلاصه، وابستگی به این معنی است که پیوندی بین دو سطح یا نظریه وجود دارد: معمولاً یک نظریه ماکروسکوپی و یک نظریه میکروسکوپی. استقلال را می‌توان به معنای تازگی در نظریه ماکروسکوپی نسبت به نظریه میکروسکوپی در نظر گرفت.
...
برای اهداف این مقاله، شرطی را که پیوند بین نظریه میکروسکوپی و ماکروسکوپی را تعیین می‌کند، حد تعداد زیادی از درجات آزادی سیستم در نظر می‌گیریم، در حالی که مقادیر مناسب ثابت نگه داشته می‌شوند. بنابراین، این واقعاً یادآور حد ترمودینامیکی است.
...
نویسندگان نظریه ریسمان گاهی اوقات از اصطلاح 'پدیدار شدن' به طور آزادانه استفاده می‌کنند و بروز آن در ادبیات فنی در مورد دوگانگی می‌تواند گیج کننده باشد.
...
سیاهچاله‌ها را می‌توان به عنوان 'ساخته شده' از برین‌ها، ضد برین‌ها و ریسمان‌ها در نظر گرفت - دومی 'اساسی' بودند. با این حال، مشخص نیست که آیا باید تصور کرد که توصیف سیاهچاله از میکروسکوپیک کوانتومی 'پدیدار' می‌شود یا خیر.
...
در تحلیل استرومینگر-وافا، ما با شمارش حالت‌های میکروسکوپی در مقابل آنتروپی ترمودینامیکی سروکار داریم. بنابراین، آیا می‌توان توصیف سیاهچاله نیمه‌کلاسیک را به عنوان پدیدار شده شناسایی کرد؟"
می‌خواهم ایده‌هایی را ببینم که در آن شیء تداوم (ریسمان‌ها/برین‌ها) نیز پدیدار می‌شوند تا تازگی با افزایش پیچیدگی به روشی عمیق‌تر از حس ترمودینامیکی ایستا پدیدار شود. جایی که می‌خواهم شروع کنم، مدل‌های ریسمانی گسسته است، به طوری که اگر از یک ۰-برین شروع کنید، فقط یک شاخص است، اساساً درست یا غلط. و با این کار از نقطه شروع غیرقابل شمارش خلاص می‌شوید. این می‌تواند حتی انگیزه بهتری برای "ریسمان‌ها" از ابتدا ایجاد کند. پس از همه، یک "ریسمان" را می‌توان به عنوان یک "لکه" نقطه در نظر گرفت، که ترفندی برای جلوگیری از بی‌نهایت در وهله اول بود. اما معنای مفهومی این "لکه" چیست؟ یک نقطه به نوبه خود را می‌توان فقط به عنوان یک بیت (درست یا غلط) در نظر گرفت، تقریباً به اندازه ای که می‌توانیم هر چیزی را کاهش دهیم؟ من فکر می‌کنم القای کوانتیزاسیون ایده جالبی است. آیا می‌توانیم آن را با فکر کردن به آن به عنوان هیجان‌زده کردن ابعاد موجود توضیح دهیم، زیرا این شما را به دام تنظیم دقیق می‌اندازد؟ مطمئن نیستم که آیا کار واقعی در این جهت در جامعه ریسمان وجود دارد یا خیر. مشکل اصلی که برای نظریه ریسمان در این زمینه می‌بینم این است که از تداوم شروع می‌کند، بنابراین همه چیز از ابتدا غیرقابل شمارش است، چه یک بعد داشته باشید و چه ۱۱ بعد، و سپس همیشه تعجب می‌کنم - غیرقابل شمارش از دیدگاه چه کسی؟)
/فردریک

---

Jan 1, 2024
15

bhobba گفت:
چند سال پیش کتاب "مقدمه‌ای بر نظریه ریسمان" را خواندم.
در آن کتاب، ریسمان‌ها بخشی از فضازمان عادی بودند، به علاوه برای سازگاری، ابعاد اضافی. ذرات اسپین ۲ به طور طبیعی پدیدار شدند و به همین ترتیب، نسبیت عام.
در آن زمان به آن فکر نکردم (بازی با کلمات است)، اما اخیراً بحثی در مورد ماهیت زمان با حضور میچیئو کاکو دیدم. او ادعا کرد که مفهوم زمان از نظریه ریسمان پدید آمده است. دیگران این ادعا را رد کردند و گفتند چگونه می‌توان ریسمان‌های ارتعاشی بدون زمان داشت. کاکو سکوت کرد، اما من فکر کردم که حتماً دلیلی برای این حرف او وجود دارد.
بنابراین کمی تحقیق کردم، از جمله مرور اجمالی کتاب "مقدمه‌ای بر نظریه ریسمان". متن خیلی چیز روشنی را نشان نداد، اما سخنرانی زیر را کشف کردم:
همچنین کتاب زیر را خریدم (که به نظر می‌رسد روز جمعه آینده می‌رسد):
https://www.amazon.com.au/Emergence-Spacetime-String-Theory/dp/1032177926?tag=pfamazon01-20
باید جالب باشد. قصد دارم ویدیو را تماشا کنم.
با تشکر
  بیل

در اینجا سخنرانی از نویسنده کتابی که به آن پیوند دادید آمده است.
او استدلال می‌کند که فضازمان نسبیتی یک محصول جانبی مکانیکی از پویایی ریسمان است.
به نظر می‌رسد نکات اصلی او در مورد پدیدار شدن فضازمان عبارتند از:
i) به جای تفسیر ورقه‌های ریسمان به عنوان جاسازی شده در یک فضازمان، آن‌ها را به عنوان منیفولد‌های غیر جاسازی شده تفسیر کنید. مختصات فضازمان ورقه‌های ریسمان به عنوان مقادیر میدان در این منیفولدها بازتفسیر می‌شوند.
ii) متریک فضازمانی که در عمل ریسمان ظاهر می‌شود، که قبلاً به عنوان متریک فضازمانی که ورقه‌های ریسمان در آن جاسازی شده‌اند تفسیر می‌شد، یک پارامتر آزاد است و بیانگر هیچ فضازمان واقعی نیست.
iii) فضازمان در این حس پدیدار می‌شود: گراویتون‌ها محصولات جانبی پویایی ریسمان هستند و رفتار جمعی آن‌ها که از معادلات میدان اینشتین پیروی می‌کند، توسط نظریه ریسمان بازتولید می‌شود.

---

اما هنوز: چگونه می‌توان از پدیدار شدن صحبت کرد اگر امضای + - یا هر اطلاعاتی در مورد ورقه‌های ریسمان باید به صورت دستی وارد شود؟

---

haushofer گفت:
ایده تا جایی که من می‌فهمم این است که انتخاب متریک برای فضازمان هدف در واقع انتخاب یک نظریه میدان هم‌شکل در ورقه‌های ریسمان است. بنابراین، حتی اگر از متریکی با امضای مربوطه استفاده شود، نشان‌دهنده هیچ فضازمانی نیست که ورقه‌های ریسمان در آن جاسازی شده باشند. به عنوان مثال، معادله ۶ و بحث در مورد آن در ویتن را ببینید. اینکه این رضایت‌بخش است یا نه، نمی‌دانم. و حتی اگر ورقه‌های ریسمان در یک فضازمان قرار داده نشوند، یک متریک "کمکی" خودشان خواهند داشت که می‌تواند به عنوان یک فضازمان اولیه در نظر گرفته شود.
[ویرایش] - در واقع ممکن است سوال شما را اشتباه فهمیده باشم. وقتی گفتید امضای "+-"، منظور شما متریک ورقه‌های ریسمان بود، در مقابل متریک فضازمان هدف؟

---

Morbert گفت:
بله. یک نفر از یک نظریه میدان ابرهم‌شکل ۱+۱ بعدی شروع می‌کند که شامل یک جهت زمان‌مانند است. سپس جای تعجب نیست که فضازمان هدف نیز شامل یک جهت زمان‌مانند است.

این مقاله ممکن است مرتبط باشد
https://arxiv.org/pdf/1207.1635.pdf

ما دیدیم که عمل شبیه عمل یک نظریه میدان d + 1 بعدی در یک سطح ۲ بعدی، ریسمان است. پیشنهاد ویتن این است که این ظاهر را به عنوان هستی‌شناسی نظریه بگیریم، به جای هستی‌شناسی یک ریسمان در یک فضازمان خارجی.
[...]
حرکات نسبی ارتعاشات ریسمان (از جمله حالت‌های گراویتون) احتمالاً بخشی از داستان هستند، اما ساختار فضایی و زمانی داخلی ریسمان نیز وجود دارد که با مختصات فضایی و زمانی داخلی نشان داده می‌شود. آیا زمان (و فضا) اساسی است، اما در قالب زمان ریسمان؟
[...]
در نسبیت، زمان بین دو رویداد به چارچوب مرجع بستگی دارد، اما هنوز هم اینطور است که یک منحنی زمان‌مانند یک مدت معین دارد که به عنوان "زمان مناسب" آن شناخته می‌شود - نه در نظریه‌ای با تقارن وایل.
[...]
و بنابراین τ در ریسمان - "زمان" اساسی در تفسیر ویتن - کاملاً با زمان آشنا متفاوت است. در نسبیت، زمان بین دو رویداد به چارچوب مرجع بستگی دارد، اما هنوز هم اینطور است که یک منحنی زمان‌مانند یک مدت معین دارد که به عنوان "زمان مناسب" آن شناخته می‌شود.

ویستارینی معتقد است که زمان ریسمان با "زمان پدیدار شده" ما متفاوت است، زیرا تقارن وایل به این معنی است که طول‌های اختصاص داده شده توسط متریک هیچ اهمیت فیزیکی ندارند و زمان مناسب از بین می‌رود.

---

Jan 2, 2024
18

Yes, it has never been ruled in, if by this you mean a generally accepted theory. Indeed, string theory has never reached the status of a universally accepted theory of quantum gravity and the unification of fundamental forces and particles. Initially hailed as a highly promising avenue of research, its prospects have significantly dimmed. Current scientific discourse suggests a pivot away from string theory, viewing it less as a frontier of exploration and more as a theoretical cul-de-sac. This shift in perspective is regrettable for the reasons as outlined in my post.

---

Jan 5, 2024
19

Book arrived.
I will give it a skim and see if I can get the general idea.
Thanks
Bill

---

Jan 7, 2024
20

What I recall in the 80's the hope was 7+4=11, from supergravity and the point that 11D formulations of gravity had a lot of mechanics of tensor decomposition and dualities, favouring objects with a foot in the 7 and other in the 4.
Time itself is a different thing. The best lore is to guess that it emerges from noncommutativity of some algebra.

---

Jan 8, 2024
21

Stumbled upon an interesting book (Quantum Structure Of Space And Time, The - Proceedings Of The 23Rd Solvay Conference On Physics), and there is a whole section dedicated to the emergence of space-time, and while I'm still reading it, the main speaker has posted their paper on arxiv and there is a section on the emergence of time specifically, but it is somewhat short (starts on page 18): https://arxiv.org/pdf/hep-th/0601234.pdf
And some post comments (that I'll upload as a picture since it isn't included in the arxiv):

---

As luck would have it, recently at the World Science Festival, Brian Greene led a very distinguished panel that, towards the last 1/3 or so, discusses the emergence:
Thanks
Bill

---

Jan 13, 2024
22

bhobba said:
So far, it seems to be the holographic idea:

bhobba said:
As luck would have it, recently at the World Science Festival, Brian Greene led a very distinguished panel that, towards the last 1/3 or so, discusses the emergence:

When pondering about the meaning and the still lacking "generalization" of these dualities... I think the reaction of both Witten and Strominger on Greenes analogy of duality of the decimal vs roman numbers is good. They pointed out that the point of the duality is not that one theory is objectively superior, but that each dual version usually has different advantages in different situations.
I associate this to the generalization of the relativity of observers, where in a sense their views of the world are all dual, each generlized observer can easily claim that their inferred theory is by construction the optimal one for them (ie. given their given perspective, and resources). But the duality likes in that another observer coming from a different perspective my rightfully find that a different "dual theory" is optimal.
In this sense, the "space of all possible dual theories" might will be conceptually isomorphic to the "space of all possible observers", and in a way all different strange background geometries in string theory IS a different observer in a sense.
But these spaces as we know seem to get very big, the question is how we can treat this in a fruitful way?
As I see it there are two options, either the space is seem to be just extremely big, possibly even infinite, and we are faced with an unreasonable fine tuning problem (landscape problem). Or we try to solve that as seeing the space of theories itself as emergent from something simpler, but this option would be more of the type Lee Smolin seeks how "laws evolve". But Smolin then takes time to be real, and not emergent.
This "world of dualities" can IMO be thought of as a generalization of "observer equivalence" that is behind SR and GR, but which we apparently has a hard time to grasp, both technically and conceptually. But if it's something that I think is worth taking from string theory regardless of what you think about it all, it's the dualities as it conceptually goes beyond the notion of "strings".
/Fredrik

---

Jan 27, 2024
23

bhobba said:
A few yesrs ago now I read a First Course in String Theory.
In that book strings were part of normal space-time plus for consitency some extra dimensions. Spin 2 partices natually emerged and so did GR.
I didnt think anything of it at the time (pun intended), but I recently saw a discussion about what time is with Michio Kaku on the pannel. He claimed that the concept of time emerged from String Theory. Others poo-pooed it saying how can you have vibrating strings without time. Michio kept silent, but I thought there must be something to it for him to say it.
So I did a bit of research, including skimming over the A First Course text. The text didnt really illuminate anything but I did discover he following lecture:
As well as the following book that I splurged on and actually purchased (evidently it arrives next Friday):
https://www.amazon.com.au/Emergence-Spacetime-String-Theory/dp/1032177926?tag=pfamazon01-20
Should be interesting. I am about to watch the video.
Thanks
  Bill

Thank you for sharing.
This video is now few years old. Today the prevailing opinion seems to be that string theory is ruled out. I do not agree that string theory is dead and useless. It is an important pillar supporting the next stage in building a unified theory of forces and particles, including gravity. I also think that loop quantum gravity will find it place in it.
There is a significant challenge in higher-dimensional theories, including string theory, regarding how to render the extra dimensions unobservable. A commonly employed approach involves assuming that the extra dimensions are compact and small. However, we can sidestep the necessity for compactification by postulating that spacetime is a subspace of a multidimensional configuration space—specifically, the space of possible matter configurations in 4D spacetime. Instead of formulating physics in spacetime, we can formulate physics in configuration space.
A potential avenue in this direction was explored in my talk titled "Extending Physics to Clifford Space: Towards the Unification of Particles and Forces, Including Gravity." I delivered this talk as part of the lecture series "Octonions, Standard Model, and Unification," held from February 24 to December 15, 2023.
The video recordings of these lectures can be accessed at . Specifically, the video recording of my lecture is available at .
In the talk there is a section on how string theory can be consistently formulated in a target space with neutral signature (p,q) with p=q. In that setup, the higher dimensional target space is the 16D space, with signature (8,8), of the oriented areas/volumes associated with fundamental objects.

---

Jan 28, 2024
24

pavsic said:
Thank you for sharing.
  This video is now few years old. Today the prevailing opinion seems to be that string theory is ruled out.

I'd rather say it has never been ruled in :P

---

Jan 28, 2024
25

Yes, it has never been ruled in, if by this you mean a generally accepted theory. Indeed, string theory has never reached the status of a universally accepted theory of quantum gravity and the unification of fundamental forces and particles. Initially hailed as a highly promising avenue of research, its prospects have significantly dimmed. Current scientific discourse suggests a pivot away from string theory, viewing it less as a frontier of exploration and more as a theoretical cul-de-sac. This shift in perspective is regrettable for the reasons as outlined in my post.

---

Feb 1, 2024
26

pavsic said:
The video recordings of these lectures can be accessed at

Thank you so much for posting these links.
My research into the area is progressing slowly.
But they will undoubtedly be a great help as I gain more knowledge.
Thanks
Bill

---

Mar 24, 2024
27

Vanadium 50 said:
If Michio Kaku told me my mother loves me, I would check it out. He says...um...lots of things.

That's roughly what I think too. Michio Kaku is a big "fanatic fan" of String Theory, willing to impress with such statements etc. . I mostly think it was a generic statement of his (perhaps even non-literal or even hyped/exaggerated), in the lines of "String Theory could explain a lot of things! ..." [if it were true, of course ...].


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

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

نظریه ریسمان برای اولین بار در اواخر دهه 1960 به عنوان نظریه‌ای برای نیروی هسته‌ای قوی مورد مطالعه قرار گرفت، قبل از اینکه به نفع کرومودینامیک کوانتومی رها شود. پس از آن، درک شد که ویژگی‌های مشابهی که نظریه ریسمان را برای نظریه‌ای از فیزیک هسته‌ای نامناسب می‌کرد، آن را به یک کاندید امیدوارکننده برای یک نظریه کوانتومی گرانش تبدیل می‌کند. اولین نسخه از نظریه ریسمان، نظریه ریسمان بوزونی، فقط شامل کلاسی از ذرات به نام بوزون‌ها بود. بعدها به نظریه ابرریسمان تکامل یافت که ارتباطی به نام ابرتقارن بین بوزون‌ها و کلاسی از ذرات به نام فرمیون‌ها را مطرح می‌کند. پنج نسخه سازگار از نظریه ابرریسمان توسعه یافتند، قبل از اینکه در اواسط دهه 1990 حدس زده شود که همه آن‌ها موارد حدی متفاوتی از یک نظریه واحد در یازده بعد به نام M-theory هستند. در اواخر سال 1997، نظریه‌پردازان رابطه مهمی به نام تناظر ضد-دسیتر/نظریه میدان هم‌شکل (AdS/CFT) را کشف کردند که نظریه ریسمان را به نوع دیگری از نظریه فیزیکی به نام نظریه میدان کوانتومی مرتبط می‌کند.

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

**مبانی**

اشیاء بنیادی نظریه ریسمان، ریسمان‌های باز و بسته هستند.

**مروری**

در قرن بیستم، دو چارچوب نظری برای فرمول‌بندی قوانین فیزیک ظهور کردند. اولی نظریه نسبیت عام آلبرت اینشتین است، نظریه‌ای که نیروی گرانش و ساختار فضازمان را در سطح ماکروسکوپی توضیح می‌دهد. دیگری مکانیک کوانتومی است، فرمول‌بندی کاملاً متفاوتی که از اصول احتمال شناخته شده برای توصیف پدیده‌های فیزیکی در سطح میکروسکوپی استفاده می‌کند. تا اواخر دهه 1970، این دو چارچوب ثابت کرده بودند که برای توضیح بیشتر ویژگی‌های مشاهده شده جهان، از ذرات بنیادی تا اتم‌ها و تکامل ستارگان و جهان به طور کلی، کافی هستند.

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

نظریه ریسمان چارچوبی نظری است که تلاش می‌کند به این سؤالات و بسیاری دیگر پاسخ دهد. نقطه شروع نظریه ریسمان این ایده است که ذرات نقطه‌ای فیزیک ذرات را می‌توان به عنوان اشیای یک‌بعدی به نام ریسمان نیز مدل‌سازی کرد. نظریه ریسمان چگونگی انتشار این ریسمان‌ها در فضا و برهم‌کنش آن‌ها با یکدیگر را توصیف می‌کند. در یک نسخه معین از نظریه ریسمان، فقط یک نوع ریسمان وجود دارد که ممکن است شبیه یک حلقه کوچک یا قطعه‌ای از ریسمان معمولی به نظر برسد و می‌تواند به روش‌های مختلفی ارتعاش کند. در مقیاس‌های فاصله‌ای بزرگ‌تر از مقیاس ریسمان، یک ریسمان دقیقاً مانند یک ذره معمولی با جرم، بار و سایر ویژگی‌هایی که توسط حالت ارتعاشی ریسمان تعیین می‌شوند، به نظر می‌رسد. کاربرد نظریه ریسمان به عنوان شکلی از گرانش کوانتومی، حالت ارتعاشی را پیشنهاد می‌کند که مسئول گراویتون، ذره‌ای مکانیکی کوانتومی است که نیروی گرانش را حمل می‌کند.

یکی از مهم‌ترین پیشرفت‌های چند دهه گذشته در نظریه ریسمان، کشف «دوگانگی‌ها» است، تبدیلاتی ریاضی که یک نظریه فیزیکی را با نظریه دیگری شناسایی می‌کنند. فیزیکدانانی که نظریه ریسمان را مطالعه می‌کنند، دوگانگی‌های متعددی بین نسخه‌های مختلف نظریه ریسمان کشف کرده‌اند و این منجر به حدس شده است که همه نسخه‌های سازگار نظریه ریسمان در یک چارچوب واحد در یازده بعد به نام M-theory گنجانده شده‌اند. مطالعات نظریه ریسمان همچنین نتایج متعددی در مورد ماهیت سیاهچاله‌ها و برهم‌کنش گرانشی به دست آورده است. پارادوکس‌هایی وجود دارد که هنگام تلاش برای درک جنبه‌های کوانتومی سیاهچاله‌ها به وجود می‌آیند و کار بر روی نظریه ریسمان تلاش کرده است تا این مسائل را روشن کند. در اواخر سال 1997، این خط تحقیق به کشف تناظر ضد-دسیتر/نظریه میدان هم‌شکل (AdS/CFT) منجر شد که نظریه ریسمان را به نوع دیگری از نظریه فیزیکی به نام نظریه میدان کوانتومی مرتبط می‌کند.

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

**ریسمان‌ها**

**تعامل در دنیای کوانتومی: خطوط جهانی ذرات نقطه‌ای یا یک ورقه جهانی که توسط ریسمان‌های بسته در نظریه ریسمان جاروب شده است.**

اعمال مکانیک کوانتومی به اشیاء فیزیکی مانند میدان الکترومغناطیسی که در فضا و زمان گسترده شده‌اند، به عنوان نظریه میدان کوانتومی شناخته می‌شود. در فیزیک ذرات، نظریه‌های میدان کوانتومی اساس درک ما از ذرات بنیادی را تشکیل می‌دهند که به عنوان برانگیختگی در میدان‌های بنیادی مدل‌سازی می‌شوند.

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

نقطه شروع نظریه ریسمان این ایده است که ذرات نقطه‌ای نظریه میدان کوانتومی را می‌توان به عنوان اشیای یک‌بعدی به نام ریسمان نیز مدل‌سازی کرد. برهم‌کنش ریسمان‌ها را می‌توان با تعمیم نظریه اختلال مورد استفاده در نظریه میدان کوانتومی به طور مستقیم تعریف کرد. در سطح نمودارهای فاینمن، این به معنای جایگزینی نمودار یک‌بعدی که مسیر یک ذره نقطه‌ای را نشان می‌دهد با یک سطح دو بعدی (2D) است که حرکت یک ریسمان را نشان می‌دهد. بر خلاف نظریه میدان کوانتومی، نظریه ریسمان تعریف غیر اختلالی کاملی ندارد، بنابراین بسیاری از سؤالات نظری که فیزیکدانان می‌خواهند به آن‌ها پاسخ دهند، در دسترس نیستند.

در نظریه‌های فیزیک ذرات بر اساس نظریه ریسمان، مقیاس طول مشخصه ریسمان‌ها فرض می‌شود به مرتبه طول پلانک یا 10-35 متر باشد، مقیاسی که در آن تصور می‌شود اثرات گرانش کوانتومی قابل توجه شوند. در مقیاس‌های طول بسیار بزرگتر، مانند مقیاس‌هایی که در آزمایشگاه‌های فیزیک قابل مشاهده هستند، این اشیاء از ذرات نقطه‌ای صفر بعدی قابل تشخیص نیستند و حالت ارتعاشی ریسمان نوع ذره را تعیین می‌کند. کاربرد نظریه ریسمان به عنوان شکلی از گرانش کوانتومی، حالت ارتعاشی را پیشنهاد می‌کند که مسئول گراویتون، ذره‌ای مکانیکی کوانتومی است که نیروی گرانش را حمل می‌کند.

نسخه اصلی نظریه ریسمان، نظریه ریسمان بوزونی، فقط شامل کلاسی از ذرات به نام بوزون‌ها بود. بعداً به نظریه ابرریسمان تکامل یافت که ارتباطی به نام ابرتقارن بین بوزون‌ها و کلاسی از ذرات به نام فرمیون‌ها را مطرح می‌کند. پنج نسخه سازگار از نظریه ابرریسمان توسعه یافتند، قبل از اینکه در اواسط دهه 1990 حدس زده شود که همه آن‌ها موارد حدی متفاوتی از یک نظریه واحد در یازده بعد به نام M-theory هستند. در اواخر سال 1997، نظریه‌پردازان رابطه مهمی به نام تناظر ضد-دسیتر/نظریه میدان هم‌شکل (AdS/CFT) را کشف کردند که نظریه ریسمان را به نوع دیگری از نظریه فیزیکی به نام نظریه میدان کوانتومی مرتبط می‌کند.

**چالش‌های نظریه ریسمان**

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

**مبانی**

اشیاء بنیادی نظریه ریسمان، ریسمان‌های باز و بسته هستند.

**مروری**

در قرن بیستم، دو چارچوب نظری برای فرمول‌بندی قوانین فیزیک ظهور کردند. اولی نظریه نسبیت عام آلبرت اینشتین است، نظریه‌ای که نیروی گرانش و ساختار فضازمان را در سطح ماکروسکوپی توضیح می‌دهد. دیگری مکانیک کوانتومی است، فرمول‌بندی کاملاً متفاوتی که از اصول احتمال شناخته شده برای توصیف پدیده‌های فیزیکی در سطح میکروسکوپی استفاده می‌کند. تا اواخر دهه 1970، این دو چارچوب ثابت کرده بودند که برای توضیح بیشتر ویژگی‌های مشاهده شده جهان، از ذرات بنیادی تا اتم‌ها و تکامل ستارگان و جهان به طور کلی، کافی هستند.

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

نظریه ریسمان چارچوبی نظری است که تلاش می‌کند به این سؤالات و بسیاری دیگر پاسخ دهد. نقطه شروع نظریه ریسمان این ایده است که ذرات نقطه‌ای فیزیک ذرات را می‌توان به عنوان اشیای یک‌بعدی به نام ریسمان نیز مدل‌سازی کرد. نظریه ریسمان چگونگی انتشار این ریسمان‌ها در فضا و برهم‌کنش آن‌ها با یکدیگر را توصیف می‌کند. در یک نسخه معین از نظریه ریسمان، فقط یک نوع ریسمان وجود دارد که ممکن است شبیه یک حلقه کوچک یا قطعه‌ای از ریسمان معمولی به نظر برسد و می‌تواند به روش‌های مختلفی ارتعاش کند. در مقیاس‌های فاصله‌ای بزرگ‌تر از مقیاس ریسمان، یک ریسمان دقیقاً مانند یک ذره معمولی با جرم، بار و سایر ویژگی‌هایی که توسط حالت ارتعاشی ریسمان تعیین می‌شوند، به نظر می‌رسد. کاربرد نظریه ریسمان به عنوان شکلی از گرانش کوانتومی، حالت ارتعاشی را پیشنهاد می‌کند که مسئول گراویتون، ذره‌ای مکانیکی کوانتومی است که نیروی گرانش را حمل می‌کند.

یکی از مهم‌ترین پیشرفت‌های چند دهه گذشته در نظریه ریسمان، کشف «دوگانگی‌ها» است، تبدیلاتی ریاضی که یک نظریه فیزیکی را با نظریه دیگری شناسایی می‌کنند. فیزیکدانانی که نظریه ریسمان را مطالعه می‌کنند، دوگانگی‌های متعددی بین نسخه‌های مختلف نظریه ریسمان کشف کرده‌اند و این منجر به حدس شده است که همه نسخه‌های سازگار نظریه ریسمان در یک چارچوب واحد در یازده بعد به نام M-theory گنجانده شده‌اند. مطالعات نظریه ریسمان همچنین نتایج متعددی در مورد ماهیت سیاهچاله‌ها و برهم‌کنش گرانشی به دست آورده است. پارادوکس‌هایی وجود دارد که هنگام تلاش برای درک جنبه‌های کوانتومی سیاهچاله‌ها به وجود می‌آیند و کار بر روی نظریه ریسمان تلاش کرده است تا این مسائل را روشن کند. در اواخر سال 1997، این خط تحقیق به کشف تناظر ضد-دسیتر/نظریه میدان هم‌شکل (AdS/CFT) منجر شد که نظریه ریسمان را به نوع دیگری از نظریه فیزیکی به نام نظریه میدان کوانتومی مرتبط می‌کند.


ابررشته‌ها ممکن است به طور همزمان در ۱۱ بعد وجود داشته باشند. منبع: موسسه فناوری ملی تیرچیراپالی
نظریه ریسمان ریشه در تلاشی برای درک آزمایش‌های اولیه آشکارکننده نیروی هسته‌ای قوی داشت. در نهایت، نظریه‌ای دیگر، مبتنی بر ذراتی به نام کوارک‌ها و حامل‌های نیرو به نام گلوئون‌ها، جایگزین آن شد، اما در ساختارهای عمیق ریاضیاتی نظریه ریسمان جوان، فیزیکدانان ساختارهای کنجکاوانه‌ای، شبح‌هایی نیمه‌دیده را یافتند که به چیزی بیشتر اشاره می‌کردند. چیزی عمیق‌تر.
نظریه ریسمان ادعا می‌کند که آنچه ما آن را ذرات می‌نامیم - موجودیت‌های نقطه‌ای که آزادانه سرگردانند، با هم تعامل می‌کنند و برای ساختن بخش عمده‌ای از وجود مادی به هم متصل می‌شوند - چیزی جز آن نیستند. در عوض، تنها یک نوع شیء بنیادی وجود دارد: ریسمان. این ریسمان‌ها، هر کدام در کوچک‌ترین حد ممکن وجود، می‌لرزند. و نحوه لرزش این ریسمان‌ها تعیین می‌کند که چگونه در جهان بزرگتر آشکار می‌شوند. مانند نت‌هایی روی یک گیتار نواخته شده، یک ریسمان که با یک حالت می‌لرزد، به عنوان یک الکترون برای ما ظاهر می‌شود، در حالی که دیگری که با فرکانس متفاوتی می‌لرزد، به عنوان یک فوتون ظاهر می‌شود و غیره.
نظریه ریسمان تلاشی جسورانه برای ارائه یک نظریه از همه چیز است. یک چارچوب ریاضی واحد که ذراتی را که ما را به آنچه هستیم تبدیل می‌کنند و نیروهایی را که به عنوان حاملان اساسی بین آن ذرات عمل می‌کنند، توضیح می‌دهد. همه آن‌ها، هر کوارکی در کیهان و هر فوتونی در میدان، تکه‌هایی از ریسمان‌های لرزان هستند.
نظریه ریسمان همچنان امیدوارکننده‌ترین راه برای دستیابی به یک نظریه کوانتومی گرانش است. این نظریه می‌تواند این عنوان نهایی را به این دلیل ادعا کند که تمام نیروهای طبیعت را تحت لوای خود در می‌آورد، پتانسیل تحقق رویای اتحاد در نیمه هزاره گذشته اکتشافات فیزیکی کیهان را برآورده می‌کند و به این دلیل که این نظریه به طور طبیعی شامل یک ذره جدید (یا دقیق‌تر، یک ارتعاش خاص از ریسمان) است که تمام ویژگی‌های لازم برای ایفای نقش حامل نیروی کوانتومی گرانش، آنالوگ گرانشی فوتون را دارد.
نظریه ریسمان آزمایش نشده، تأیید نشده و حتی هنوز کامل نیست. در واقع، علیرغم وعده و پتانسیل عظیم خود، ریاضیاتی که زیربنای این نظریه است، آنقدر دشوار است که هنوز هیچ کس به راه‌حلی نرسیده است، چه رسد به پیش‌بینی‌ای که بتوان آن را در برابر آزمایش بررسی کرد. به نظر می‌رسد که طبیعت قصد دارد بارها و بارها ما را به چالش بکشد. تلاش‌های اولیه برای گنجاندن گرانش در یک چارچوب کوانتومی، تحت وزن بی‌نهایت‌های غیرقابل کاهش، فرو می‌پاشند. و اکنون امیدوارکننده‌ترین راه‌حل در اطراف این بی‌نهایت‌ها، برای جایگزینی ذرات نقطه‌ای نظریه کوانتومی قدیمی با حلقه‌های ریسمان، آنقدر غیرقابل اجرا است که بی‌نهایت‌ها گاهی ترجیح داده می‌شوند.
علیرغم کاستی‌هایش، نظریه‌پردازان توانسته‌اند تا حدی در جنگل‌های عمیق ریسمان‌ها پیشروی کنند و در جستجوی خود - که گاهی اوقات بیشتر شبیه آرزوهای جسورانه است که امیدواریم روزی ثابت شود - به چیزی غیرمنتظره دست یافته‌اند.
ابعاد نقش مهمی در نظریه ریسمان ایفا می‌کنند. ریسمان‌های کوچک لرزان وظیفه تلاش بزرگ توضیح تمام آفرینش - هر نوع ذره‌ای که تا به حال وجود داشته است، هر آنچه که تا به حال کشف شده است و همه چیزهایی که هنوز باید کشف شوند - را بر عهده دارند. اما در اوایل کار، نظریه‌پردازان ریسمان کشف کردند که سه بعد کم فضایی کافی نیستند. ریسمان‌ها، محدود به فضازمان معمول و آشنای ما، نمی‌توانند از انواع کافی لرزش برای توضیح طیف کاملی از ذرات پشتیبانی کنند.
بنابراین نظریه‌پردازان ریسمان به یک راه‌حل ظریف دست یافتند. اگر جهان ابعاد کافی برای دادن آزادی مورد نیاز به ریسمان‌ها برای توضیح تمام فیزیک را نداشته باشد، پس باید بیشتر ابعاد را به جهان اضافه کنیم. نسخه‌های مدرن نظریه ریسمان بیان می‌کنند که ما یا ده یا یازده بعد فضایی داریم (تفاوت از فرمول‌بندی‌های مختلف نظریه ناشی می‌شود).
برای توضیح اینکه چرا این ابعاد اضافی تا کنون از دید ما در تجربیات زندگی در این جهان پنهان مانده‌اند، ابعاد اضافی باید به همان مقیاس‌های فوق‌العاده کوچک ریسمان‌ها در خود پیچیده شوند و آن‌ها را به گوشه‌های پنهان ادراک و آزمایش بفرستند. حتی توانایی ما برای بررسی اجزای سازنده اتم‌ها نیز برای نفوذ به این قلمرو تحت سلطه ریسمان بسیار دست و پا چلفتی است.
نیازی نیست نگران ساختار یا خواص این ابعاد پنهان باشیم، زیرا آنچه برای ما مهم است این است که نظریه ریسمان، که ادعا می‌کند جانشینی در زنجیره ناگسستنی اتحاد است که به مدت پنجصد سال ادامه داشته است و ادعا می‌کند که روزی به یک نظریه کامل گرانش کوانتومی تبدیل خواهد شد، به طور ذاتی، به دلیل ضرورت ریاضی، این امکان را می‌پذیرد که جهان ما تعداد ابعادی متفاوت از آنچه که ممکن است به سادگی فرض کنیم، داشته باشد.
منبع: چرا نظریه ریسمان به ابعاد اضافی نیاز دارد (۲۰۲۳، ۲۰ دسامبر) بازیابی شده در ۲۴ مه ۲۰۲۴ از https://phys.org/news/2023-12-theory-requires-extra-dimensions.html
این سند مشمول حق چاپ است. به جز هرگونه استفاده منصفانه برای اهداف مطالعه یا تحقیق خصوصی، هیچ بخشی از آن را نمی‌توان بدون اجازه کتبی بازتولید کرد. محتوا فقط برای مقاصد اطلاعاتی ارائه شده است.


تک‌بیس (فناوری).
تک‌بیس (فناوری).
در تلاش برای تبدیل شدن به یک توسعه‌دهنده فول استک MERN.
منتشر شده در ۷ فوریه ۲۰۲۴
جاوااسکریپت یک زبان برنامه‌نویسی پرکاربرد است، به‌ویژه برای توسعه وب، اما برخی از توسعه‌دهندگان از آن انتقاد می‌کنند. در اینجا چند دلیل برای اینکه چرا جاوااسکریپت گاهی اوقات ناخوشایند است، آورده شده است:

ناهمگونی‌ها و عجیبی‌ها: جاوااسکریپت به خاطر عجیب و غریب و ناسازگار بودن خود، به‌ویژه در نسخه‌های قدیمی‌تر و مرورگرهای وب مختلف، شهرت دارد. این می‌تواند منجر به رفتارهای غیرمنتظره شود و اشکال‌زدایی را برای توسعه‌دهندگان دشوارتر کند.
برنامه‌نویسی ناهمزمان: برنامه‌نویسی ناهمزمان در جاوااسکریپت، به‌ویژه با استفاده از توابع بازگشتی یا توابع بازگشتی تو در تو (که به عنوان "جهنم بازگشتی" شناخته می‌شود)، می‌تواند منجر به کد پیچیده و دشوار برای خواندن شود. مدیریت عملیات ناهمزمان می‌تواند برای توسعه‌دهندگان، به‌ویژه کسانی که تازه با جاوااسکریپت آشنا شده‌اند، دلهره‌آور باشد.
سیستم نوع‌دهی: سیستم نوع‌دهی پویا جاوااسکریپت می‌تواند منجر به خطاهایی شود که فقط در زمان اجرا کشف می‌شوند، نه در زمان کامپایل. این می‌تواند یافتن اشکالات را در مراحل اولیه فرآیند توسعه دشوارتر کند، در مقایسه با زبان‌های با نوع‌دهی ایستا.
ابزارها و وابستگی‌ها: راه‌اندازی و مدیریت محیط‌های توسعه جاوااسکریپت، از جمله ابزارهای ساخت، مدیران بسته و وابستگی‌ها، می‌تواند پیچیده و زمان‌بر باشد. این می‌تواند برای توسعه‌دهندگانی که گردش کار توسعه ساده‌تر یا منطقی‌تری را ترجیح می‌دهند، ناامیدکننده باشد. کدام زبان برای یادگیری ساختار داده در سال ۲۰۲۴ بهترین است؟
نگرانی‌های امنیتی: ماهیت پویا و اجرای سمت کلاینت جاوااسکریپت آن را در برابر آسیب‌پذیری‌های امنیتی، مانند حملات اسکریپت‌نویسی متقابل (XSS)، آسیب‌پذیر می‌کند. توسعه‌دهندگان باید در نوشتن کد امن و اجرای اقدامات امنیتی مناسب هوشیار باشند.
مشکلات عملکرد: در حالی که عملکرد جاوااسکریپت در طول سال‌ها به طور قابل توجهی بهبود یافته است، ممکن است هنوز هم نسبت به زبان‌های کامپایل شده مانند C++ یا Java کندتر تلقی شود، به‌ویژه در کارهای محاسباتی فشرده.
منحنی یادگیری: جاوااسکریپت دارای منحنی یادگیری شیب‌داری برای مبتدیان است، به‌ویژه کسانی که از زبان‌ها یا پیشینه‌های برنامه‌نویسی دیگر می‌آیند. درک وراثت نمونه‌ای جاوااسکریپت، قوانین دامنه و مفاهیم برنامه‌نویسی تابعی می‌تواند برای تازه‌واردان چالش‌برانگیز باشد.
سازگاری مرورگر: اطمینان از سازگاری با مرورگرها و نسخه‌های مختلف می‌تواند برای توسعه‌دهندگان جاوااسکریپت دردسرساز باشد. نوشتن کدی که به طور مداوم در مرورگرها و دستگاه‌های مختلف کار کند، نیاز به آزمایش و بهینه‌سازی بیشتری دارد.

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


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

روزهای اولیه جاوااسکریپت
وقتی جاوااسکریپت برای اولین بار در اواسط دهه 1990 معرفی شد، عمدتاً برای کارهای ساده‌ای مانند اعتبارسنجی ورودی‌های فرم در صفحات وب استفاده می‌شد. در آن زمان، وب هنوز در ابتدای راه خود بود و برنامه‌های وب بسیار ساده‌تر از امروز بودند. جاوااسکریپت به عنوان ابزاری مفید برای افزودن تعامل و انیمیشن به صفحات وب دیده می‌شد، اما به عنوان یک زبان برنامه‌نویسی جدی تلقی نمی‌شد.

یکی از بزرگترین چالش‌های توسعه اولیه جاوااسکریپت، ناسازگاری بین مرورگرهای مختلف بود. هر مرورگر زبان را به روش خود پیاده‌سازی می‌کرد، به این معنی که کدی که در یک مرورگر کار می‌کرد، ممکن است در مرورگر دیگر کار نکند. این امر منجر به ناامیدی و عدم ثبات در تجربه کاربری می‌شد. توسعه‌دهندگان مجبور بودند کد متفاوتی برای مرورگرهای مختلف بنویسند، که توسعه جاوااسکریپت را پیچیده‌تر و زمان‌برتر می‌کرد.

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

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

همه این عوامل به شهرت بد جاوااسکریپت در روزهای اولیه آن کمک کردند. بسیاری از توسعه‌دهندگان آن را زبانی محدود و غیرقابل اعتماد می‌دانستند که کار با آن دشوار بود.

تکامل جاوااسکریپت
در طول چند دهه گذشته، جاوااسکریپت تحول چشمگیری داشته است. امروزه، این یک زبان قدرتمند و همه‌کاره است که توسط میلیون‌ها توسعه‌دهنده در سراسر جهان استفاده می‌شود. پس چه چیزی تغییر کرده است؟ در اینجا چند عامل کلیدی وجود دارد:

استانداردسازی
یکی از بزرگترین تغییرات در تکامل جاوااسکریپت، حرکت به سمت استانداردسازی بوده است. امروزه، این زبان توسط مشخصات ECMAScript اداره می‌شود، که مجموعه‌ای از قوانین و دستورالعمل‌ها را برای نحوه پیاده‌سازی زبان تعریف می‌کند. این امر به کاهش ناسازگاری بین مرورگرهای مختلف و قابل پیش‌بینی‌تر و قابل اعتمادتر شدن جاوااسکریپت کمک کرده است.

ECMAScript به طور مرتب به‌روزرسانی می‌شود، با هر نسخه جدید، ویژگی‌ها و بهبودهای جدیدی به زبان اضافه می‌شود. آخرین نسخه ECMAScript، ECMAScript 2022، شامل طیف وسیعی از ویژگی‌ها و بهبودهای جدید است که زبان را قدرتمندتر و آسان‌تر می‌کند. به عنوان مثال، ECMAScript 2022 شامل بهبودهایی در دستکاری رشته، پشتیبانی بهتر از BigInt و بهبودهایی در مدیریت خطا است.

عملکرد بهبود یافته
با معرفی APIها و کتابخانه‌های جدید، جاوااسکریپت بسیار قدرتمندتر و همه‌کاره‌تر شده است. توسعه‌دهندگان اکنون می‌توانند از این زبان برای انجام کارهای پیچیده‌ای مانند تجسم داده‌ها، ارتباطات بی‌درنگ و برنامه‌نویسی سمت سرور استفاده کنند.

یکی از مهم‌ترین تحولات در سال‌های اخیر، ظهور فریم‌ورک‌های جاوااسکریپت مانند React، Angular و Vue بوده است. این فریم‌ورک‌ها ابزارهای قدرتمندی را برای ساخت برنامه‌های وب پیچیده به سرعت و کارایی در اختیار توسعه‌دهندگان قرار می‌دهند. آنها بسیاری از پیچیدگی‌های توسعه جاوااسکریپت را از بین می‌برند و به توسعه‌دهندگان اجازه می‌دهند تا بر ساخت تجربیات کاربری عالی تمرکز کنند.

حوزه دیگری که جاوااسکریپت در آن بهبود قابل توجهی داشته است، توانایی آن در تعامل با فناوری‌های دیگر است. به عنوان مثال، اکنون می‌توان از جاوااسکریپت با APIهایی مانند WebSockets و WebRTC برای ارائه ارتباطات بی‌درنگ بین برنامه‌های وب استفاده کرد. جاوااسکریپت همچنین می‌تواند با فناوری‌های سمت سرور مانند Node.js برای ساخت برنامه‌های وب قدرتمند و مقیاس‌پذیر استفاده شود.

علاوه بر این، جاوااسکریپت به یک زبان محبوب برای ایجاد برنامه‌های موبایل تبدیل شده است. با فریم‌ورک‌هایی مانند React Native و Ionic، توسعه‌دهندگان می‌توانند از جاوااسکریپت برای ساخت برنامه‌های موبایل بومی برای iOS و Android استفاده کنند. این امر ایجاد برنامه‌های موبایل را سریع‌تر و کارآمدتر کرده است، بدون نیاز به پایگاه‌های کد جداگانه برای هر پلتفرم.

عملکرد بهتر
موتورهای مدرن جاوااسکریپت مانند V8 به طور چشمگیری عملکرد زبان را بهبود بخشیده‌اند. امروزه، می‌توان از جاوااسکریپت برای ساخت برنامه‌های وب بزرگ مقیاس که سریع و کارآمد هستند استفاده کرد. V8 که توسط مرورگر Chrome گوگل و Node.js استفاده می‌شود، کد جاوااسکریپت را به کد ماشین کامپایل می‌کند، که آن را بسیار سریع‌تر از پیاده‌سازی‌های تفسیر شده قبلی می‌کند.

توسعه مهم دیگر در عملکرد جاوااسکریپت، معرفی کامپایلرهای just-in-time (JIT) بوده است. کامپایلرهای JIT کد جاوااسکریپت را در زمان اجرا تجزیه و تحلیل می‌کنند و کد ماشین بهینه شده را به صورت پویا تولید می‌کنند. این امر به طور قابل توجهی عملکرد برنامه‌های جاوااسکریپت را بهبود بخشیده است و ساخت برنامه‌های پیچیده‌ای را که می‌توانند حجم زیادی از داده‌ها و تعاملات پیچیده را مدیریت کنند، امکان‌پذیر کرده است.

توصیه شده توسط LinkedIn
جامعه و اکوسیستم
یکی دیگر از عوامل مهم در تکامل جاوااسکریپت، رشد جامعه و اکوسیستم آن بوده است. امروزه، میلیون‌ها توسعه‌دهنده در سراسر جهان وجود دارند که به طور روزانه با جاوااسکریپت کار می‌کنند. این امر منجر به یک اکوسیستم غنی از کتابخانه‌ها، فریم‌ورک‌ها و ابزارهایی شده است که کار با زبان را برای توسعه‌دهندگان آسان‌تر می‌کند.

یکی از مهم‌ترین تحولات در سال‌های اخیر، ظهور مدیران بسته مانند npm و Yarn بوده است. این ابزارها به توسعه‌دهندگان اجازه می‌دهند تا کد را به اشتراک بگذارند و از آن مجدداً استفاده کنند، که به سرعت بخشیدن به فرآیند توسعه و کاهش تکرار کد کمک کرده است. علاوه بر این، رشد جوامع آنلاین مانند Stack Overflow و GitHub به توسعه‌دهندگان کمک کرده است تا دانش خود را به اشتراک بگذارند و در پروژه‌ها با یکدیگر همکاری کنند.

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

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

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

تکامل جاوااسکریپت توسط طیف وسیعی از عوامل، از جمله استانداردسازی، عملکرد بهبود یافته، عملکرد بهتر، جامعه و اکوسیستم در حال رشد و قابلیت پیش‌بینی بیشتر هدایت شده است. در کنار هم، این عوامل جاوااسکریپت را از یک زبان محدود و غیرقابل اعتماد به یک زبان قدرتمند و قابل پیش‌بینی تبدیل کرده‌اند.

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


چون واقعاً افتضاحه.
جاوااسکریپت یک زبان برنامه‌نویسی رنج‌آور است. هر کسی که خلاف این را بگوید یا حرف‌هایی مثل "اوه، شبیه لیپ است، وای وای وای، سوءتفاهم شده وای وای وای" بزند، دچار سندرم استکهلم جاوااسکریپتی شده است.
اول از همه، جاوااسکریپت شبیه لیپ نیست. چرا؟ خوشحالم که پرسیدید:
* نحو لیپ عمدتاً از عبارات S-پولیشی پیشوندی تشکیل شده است، مانند این: (sqrt (* 2 3)). جاوااسکریپت دارای نحو شبیه C است.
* ساختار داده مرکزی لیپ لیست است. جاوااسکریپت نوع لیست ندارد. آرایه‌های جاوااسکریپت لیست نیستند. ساختار داده مرکزی جاوااسکریپت آرایه مشارکتی است که اغلب به عنوان نوع داده دیگری ظاهر می‌شود.
* لیپ هموایکونیک است، کد و داده آن دارای یک نمایش اصلی یکسان هستند. جاوااسکریپت اینطور نیست. حتی ذره‌ای هم نیست.
* لیپ، به دلیل هموایکونیسیتی خود، به طور طبیعی به سیستم‌های ماکروی قدرتمند منجر می‌شود. جاوااسکریپت ماکرو ندارد.
* داشتن لامبدا یک زبان را شبیه لیپ نمی‌کند. ++C لامبدا دارد، جاوا لامبدا دارد، پایتون لامبدا دارد، هاسکل لامبدا دارد. هیچ کس به اندازه کافی احمق نیست که این زبان‌ها را با لیپ اشتباه بگیرد.
خب، حالا بریم سراغ اینکه چرا خود جاوااسکریپت مزخرفه.
جاوااسکریپت برای جلوگیری از خرابی به طول‌های بسیار زیادی می‌رود که مانع از کاربردپذیری آن می‌شود.
در زبان‌های برنامه‌نویسی که توسط افراد احمق طراحی نشده‌اند، انجام کارهای بی‌معنی مانند ضرب یک رشته در رشته دیگر یا گرفتن جذر یک آرایه باعث خرابی برنامه شما می‌شود. این یک چیز خوب است. بعد از اینکه برنامه شما خراب شد، متوجه می‌شوید که خراب شده و اشکال را برطرف می‌کنید. سپس دیگر خراب نمی‌شود. در جاوااسکریپت هیچ‌کدام از اینها اتفاق نمی‌افتد. در عوض، نتیجه‌ای می‌دهد که منطقی نیست، شما این نتیجه را ذخیره می‌کنید و سپس برنامه بعداً خراب می‌شود یا کاری را که می‌خواستید انجام نمی‌دهد. حالا، به جای اینکه در جایی که اشکال را نوشتید خراب شود، میلیاردها خط کد بعد خراب می‌شود و باید به عقب برگردید و اشکال واقعی را پیدا کرده و آن را برطرف کنید. این یک مشکل بزرگ است و با بزرگتر شدن برنامه شما فقط بدتر می‌شود.
جاوااسکریپت سعی می‌کند وانمود کند که کلاس دارد، اما ندارد. جاوااسکریپت دارای یک سیستم وراثت مبتنی بر نمونه اولیه است که خوب است، اما در مورد آن صادق نیست، به طوری که بیشتر برنامه‌نویسان جاوااسکریپت در واقع نمی‌فهمند که چگونه کار می‌کند. من نظرات زیادی از توسعه‌دهندگان باتجربه جاوااسکریپت دریافت کرده‌ام که سوءتفاهم‌های فاحش و گسترده‌ای را در مورد ویژگی‌های اساسی زبان نشان می‌دهد. این علت بسیاری از اشکالات عجیب، APIهای زشت و شبیه‌سازی‌های عجیب و غریب از زبان‌های برنامه‌نویسی دیگر است.
جاوااسکریپت سیستم ماژول ندارد. شما می‌توانید با استفاده از کلژرها یک سیستم ماژول برای خود بسازید، اما این فقط خنده‌دار است. اگر یک CPU از اینتل سفارش می‌دادید و گوردون مور دستورالعمل‌هایی برای رفتن به ساحل، گرفتن مقداری شن، قرار دادن آن در کوره، تبدیل شن مذاب به ویفرهای سیلیکونی، حک کردن برخی دروازه‌ها روی آنها و ساخت یک میکروپردازنده برای شما می‌فرستاد، به او می‌خندیدید، درست است؟ خب، جاوااسکریپت همین کار را با شما می‌کند وقتی که در حال ساخت سیستم ماژول خود از کلژرها هستید. حتی فایل‌های هدر به سبک C که از طریق گنجاندن متن تحت‌اللفظی عمل می‌کنند و به طور گسترده به عنوان بدترین چیز ممکن در نظر گرفته می‌شوند، یک پیشرفت خواهد بود.
احتمالاً می‌توانم در مورد مسائل دیگر هم صحبت کنم، اما سه مورد بالا کافی است. اینها انتخاب‌های سبکی نیستند که افراد معقول در مورد آنها اختلاف نظر داشته باشند. اینها نقص هستند. هیچ دنیایی وجود ندارد که اینها انتخاب‌های خوبی باشند.
و می‌دانید دردناک‌ترین قسمت همه اینها چیست؟ می‌دانید الان می‌خواهم چه کار کنم؟ می‌خواهم کمی جاوااسکریپت بنویسم، زیرا می‌خواهم برنامه‌ام در همه جا اجرا شود و چاره‌ای ندارم. اما مطمئن باشید که در حالی که این کار را می‌کنم، به صورت Brandon Eich احمق، احمق لعنت خواهم فرستاد.


گفته می‌شود جاوااسکریپت یک زبان برنامه‌نویسی تابعی است. (در واقع، چند الگویی است، عمدتاً دستوری با قابلیت‌های تابعی و اندکی گرایش به برنامه‌نویسی شی‌گرا از طریق نمونه‌های اولیه شیء.) متاسفانه، جاوااسکریپت همچنین یک زبان برنامه‌نویسی ناکارآمد است که مملو از "عیوب" و "دام‌های" فراوان است. به دلیل تایپ ضعیف و انعطاف‌پذیری بیش از حد در تبدیل نوع داده‌ها و معناشناسی‌های به‌شدت ناسازگار، فاقد نظم لازم برای یک زبان مهندسی نرم‌افزار جدی است. جاوااسکریپت حتی یک نوع صحیح عدد صحیح ندارد! همچنین، جاوااسکریپت یک نوع آرایه مناسب مانند آنچه در اکثر زبان‌های برنامه‌نویسی عادی پیدا می‌کنید، ندارد. برای روشن شدن، با وجود تلاش‌های فراوان ECMA برای رفع مشکلات جاوااسکریپت، هنوز به این مشکلات اشاره شده رسیدگی نکرده است.

طرفداران جاوااسکریپت دائماً به ما می‌گویند که همه زبان‌های برنامه‌نویسی عیب دارند. آنچه به ما نمی‌گویند این است که اکثر زبان‌ها عیب‌های بسیار کمتری نسبت به جاوااسکریپت دارند. این مشکل برای این زبان چقدر بزرگ است؟ تصویر زیر تا حدی به شما ایده می‌دهد:

در اینجا لیست‌های طولانی از عیوب وجود دارد:

wtfjs
JavaScript Garden
JavaScript Gotchas
Common JavaScript Errors

آیا لیست‌های مشابهی برای جاوا یا پایتون وجود دارد؟

همین مدافعان همچنین به ما می‌گویند که با استفاده از روش‌های خوب، از جمله لینترها*، می‌توانید از قسمت‌های بد اجتناب کنید و از برنامه‌نویسی لذت ببرید. آیا کتاب داگلاس کراکفورد در مورد همین نیست؟ البته این یک افسانه است. روش‌های خوب یک راه حل کامل نیستند. دیر یا زود، تایپ ضعیف و معناشناسی‌های ناسازگار جاوااسکریپت به شما ضربه می‌زند. دیر یا زود، فقدان اعداد صحیح یا نوع آرایه مناسب آزاردهنده خواهد بود. اینها مانند مین‌های زمینی هستند که با صبر بی‌نهایت در کمین نشسته‌اند تا پاهایتان را از بین ببرند. روش‌های خوب مشکلات را کاهش می‌دهند اما از بین نمی‌برند.
(* لینترها همچنین می‌توانند مثبت کاذب تولید کنند که باعث می‌شود به دنبال مشکلات خیالی بگردید. این می‌تواند زمان‌بر باشد.)

نیاز به آگاهی مداوم از قسمت‌های بد، قطعاً بار شناختی اضافی و غیرضروری را بر دوش برنامه‌نویس می‌گذارد. به این موضوع در "شمشیر داموکلس" جاوااسکریپت اشاره کردم. پس چرا طرفداران جاوااسکریپت به ترویج استفاده از آن ادامه می‌دهند؟

پاسخ این است: جامعه کاربری بزرگ جاوااسکریپت و اکوسیستم ابزارها و کتابخانه‌های آن، نه اینکه تعداد زیادی شغل برای توسعه‌دهندگان جاوااسکریپت وجود داشته باشد. این پاسخ همچنین طول عمر همه زبان‌های اصلی را توضیح می‌دهد، صرف نظر از نقص‌هایشان، از جمله: PHP، C++، Perl و Visual Basic (زبان‌هایی که همه از آنها متنفرند).

استدلال جامعه و اکوسیستم قطعا قانع کننده است. شکی نیست که اینها مزایای قابل توجهی را هم برای کسب و کارها و هم برای برنامه نویسان به ارمغان می‌آورند. با این حال، باید مزایا را در برابر معایب، مانند موارد زیر، سنجید:

پیچیدگی و دشواری نگهداری از پایگاه کد با افزایش اندازه برنامه فراتر از آستانه ایمن برای زبان (در مورد جاوااسکریپت، می‌گویم حدود 20 هزار خط کد)
کاهش قابلیت اطمینان نرم‌افزار با افزایش اندازه آن به حدی که فقدان نظم جاوااسکریپت با توانایی یافتن نقص‌ها و اثبات صحت برنامه تداخل داشته باشد.
دشواری تحویل نرم‌افزار به موقع و با بودجه به دلیل بار شناختی ناخوشایند زبان و کاهش سرعت کار برنامه نویس (یک مطالعه علمی نشان داده است که جاوااسکریپت یکی از کم‌بازده‌ترین زبان‌ها در فناوری اطلاعات است، عقب‌تر از C++، Java و C#)

به عبارت دیگر، این جامعه کاربری، اکوسیستم و مشاغل در مقابل قابلیت نگهداری، قابلیت اطمینان و بهره‌وری است. تضاد کلاسیک در فناوری اطلاعات.

باید توجه داشت که در حالی که یک اکوسیستم غنی به بهره‌وری کمک می‌کند (با کد قابل استفاده مجدد، نیازی به اختراع دوباره چرخ نیست)، باز هم باید کد جدیدی برای منطق تجاری، طراحی رابط کاربری، رویه‌های تست و غیره بنویسید. یک زبان ناکارآمد می‌تواند دومی را به حدی مختل کند که مزیت اکوسیستم را از بین ببرد. یک زبان قدرتمند و ظریف می‌تواند معجزه کند. Smalltalk نمونه بارزی از این است. این زبان به دلیل بهره‌وری بسیار بالای خود، به لطف یک IDE/دیباگر "زنده" باورنکردنی و یک نحو و معناشناسی فوق‌العاده تمیز که هرگونه بار شناختی را از بین می‌برد، بسیار مورد ستایش قرار گرفته است. به عبارت دیگر، Smalltalk از سر راه شما کنار می‌رود تا بتوانید بر نوشتن برنامه خود به کارآمدترین روش تمرکز کنید. این یک تجربه برنامه‌نویسی بسیار دلپذیر، تقریباً ذن‌مانند ایجاد می‌کند. اکوسیستم Smalltalk به اندازه جاوااسکریپت غنی نیست، اما من روی Smalltalk در هر مسابقه برنامه‌نویسی شرط نمی‌بندم.

ما مانند سامسون در برابر وعده‌های دروغین جاوااسکریپت مقاومت می‌کنیم، دروغی که یک نسل از توسعه‌دهندگان ساده‌لوح را فریب داده است. چگونه می‌توان با این همه ذهن احمقانه مقابله کرد؟

هیچ‌کس منکر این نیست که جاوااسکریپت بسیار مفید است. بسیاری از برنامه‌های با اندازه متوسط نوشته شده‌اند. جایی که من بیشتر نگران آن هستم، مهندسی نرم‌افزار در مقیاس بزرگ است... برنامه‌هایی که دارای ده ها هزار خط کد (یا LOC) هستند.

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

ممکن است برنامه‌های بزرگی به جاوااسکریپت نوشته شده باشد (من واقعاً نمی‌دانم)، اما این تمام داستان را نمی‌گوید. این به ما نمی‌گوید که نرم‌افزار چقدر قابل اعتماد است، چه تعداد نقص وجود دارد. برنامه چقدر از کار افتاد؟ این به ما نمی‌گوید که پایگاه کد در طول زمان چقدر قابل نگهداری است. این به ما نمی‌گوید که هزینه چرخه عمر استفاده از جاوااسکریپت چقدر است، که این مطالعه نشان می‌دهد بسیار بد است. اینها همه هزینه‌های واقعی هستند که نمی‌توان آنها را نادیده گرفت. کسب و کارها تمایلی به افشای چنین اطلاعاتی ندارند.

از دیدگاه سازمانی، می‌دانیم که استفاده از جاوا، C#، C++، پایتون و غیره ایمن‌تر است. این زبان‌ها بر اساس یک پایه محکم بنا شده‌اند. آنها مقادیر اثبات شده هستند. آنها قسمت‌های بدی ندارند که بر قسمت‌های خوب غلبه کنند. این یک مسئله اعتماد است.

در نهایت، سوال به این خلاصه می‌شود: آیا شما در حال مهندسی نرم‌افزار جدی هستید یا در حال هک کردن برنامه‌های نسبتاً ساده (کمتر از 20 هزار خط کد) هستید؟


جاوااسکریپت نمونه‌ی کاملی از این گفته است که «ابزارها بد نیستند، روش‌های استفاده‌ی بد از ابزارها بد هستند». جاوااسکریپت به دلیل محدودیت‌هایش قبلاً برای سمت سرور نامناسب بود، تا اینکه مجموعه‌ای از فناوری‌های دیگر ایجاد شدند که این محدودیت‌ها را برطرف کردند و ناگهان جاوااسکریپت عالی شد. برنامه‌نویسانی که هنوز هم می‌گویند جاوااسکریپت زبان بدی است، این را می‌گویند چون تغییر بزرگی که در دهه گذشته رخ داده را درک نمی‌کنند.

شما باید بفهمید چرا جاوااسکریپت قبلاً برای سمت سرور بد بود.

جاوااسکریپت ایمنی نوع در زمان کامپایل را ندارد.

این قبلاً یک مشکل بزرگ در دوران اوج C/C++ بود. در آن زمان، وقتی یک عدد صحیح را می‌گرفتید و در یک متغیر اعشاری قرار می‌دادید، کامپایلر کدی برای تبدیل آن ایجاد نمی‌کرد. به سادگی همان دنباله بیت‌هایی که عدد صحیح را تشکیل می‌دادند را به عنوان یک عدد اعشاری در نظر می‌گرفت. بنابراین، نه تنها یک عدد عجیب و غریب دریافت می‌کردید، بلکه ممکن بود با وضعیتی مواجه شوید که یک عملیات با بازنویسی بافر باعث ایجاد اشکالات و مشکلات امنیتی عجیب و غریب شود. بنابراین، زبان‌های برنامه‌نویسی همه در مورد ایمنی نوع در زمان کامپایل بودند. شما به کامپایلر نیاز داشتید تا بررسی کند که یک عدد صحیح را بدون فراخوانی تابع مربوطه که عدد صحیح را به اعشاری تبدیل می‌کند، در یک متغیر اعشاری قرار نمی‌دهید.

اساساً، OOP این مشکل را حل کرده است. اگر هر ثابت با یک کلاس نشان داده شود که عملیات تبدیل مرتبط با آن را داشته باشد، کامپایلر/مفسر می‌تواند اساساً آن را فراخوانی کند تا تبدیل را در پشت صحنه بدون اینکه برنامه‌نویس تبدیل صریح را مشخص کند، انجام دهد. اساساً، اگر همه چیز یک شی باشد، زبان انتزاعی را فراهم می‌کند که کار را برای برنامه‌نویس آسان می‌کند.

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

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

آنچه قبلاً بد بود، اکنون خوب است.

جاوااسکریپت تفسیر می‌شود.

بله، همان چیزی که مردم در مورد جاوا صحبت می‌کردند. جاوا کند است زیرا تفسیر می‌شود. جاوااسکریپت کند است زیرا تفسیر می‌شود. با این حال، معلوم می‌شود زبان‌هایی که در ماشین‌های مجازی اجرا می‌شوند می‌توانند در بیشتر موارد سریع اجرا شوند زیرا ماشین مجازی می‌تواند به کامپایل و بهینه‌سازی JIT بپردازد.

همچنین، زبان‌های کامپایل شده باید کامپایل شوند. و کامپایل کردن برای برنامه‌نویس دردسرساز است... جدی. زبان‌هایی که از کامپایل JIT استفاده می‌کنند، با هزینه نیاز به حافظه و پردازنده سریع‌تر، یک افزایش بهره‌وری بزرگ به برنامه‌نویس می‌دهند. در عصری که هزینه برنامه‌نویسان افزایش می‌یابد و هزینه حافظه/پردازنده کاهش می‌یابد، واگذاری بخشی از کار به پردازنده/حافظه چیز خوبی است.

آنچه قبلاً بد بود، اکنون خوب است.

جاوااسکریپت چند رشته‌ای ندارد.

بله، ندارد. در واقع، برای انجام چندین کار به طور همزمان به حلقه‌های رویداد متکی است. می‌دانید چه کسی این کار را انجام داد؟ ویندوز 3.1. بله، بسیاری از برنامه‌نویسان جدیدتر که طرفدار جاوااسکریپت هستند، این را درک نمی‌کنند. جاوااسکریپت یکی از اصول طراحی اصلی خود را از یک سیستم عامل قدیمی به اشتراک می‌گذارد. به یاد داشته باشید که ویندوز 3.1 برای اجرا در سخت‌افزاری که تک رشته‌ای بود طراحی شده بود. در آن زمان، برنامه‌های GUI به شما اجازه نمی‌دادند چندین پنجره را باز کنید. ویندوز 3.1 این مشکل را با داشتن یک حلقه رویداد حل کرد. سیستم عامل یک صف رویداد را به یک برنامه ارائه می‌کرد. برنامه حلقه‌ای داشت که یک رویداد را از صف می‌گرفت، کاری با آن انجام می‌داد و به رویداد بعدی بازمی‌گشت. هر اقدامی در رابط کاربری یک رویداد را در حلقه ارسال می‌کرد. همچنین، اگر می‌خواستید کاری را در پس‌زمینه انجام دهید (به عنوان مثال، ذخیره یک فایل)، باید یک قطعه داده را ذخیره می‌کردید، رابط کاربری را برای نشان دادن پیشرفت به‌روز می‌کردید، یک رویداد را به حلقه می‌نوشتید تا قطعه بعدی را ذخیره کنید و غیره. سیستم عامل/زبان انتزاعی callback را ارائه نمی‌داد، اما اساساً callbackهای خود را پیاده‌سازی می‌کردید.

بعداً، توسعه‌دهندگان سیستم عامل این انتزاع را به نام thread ایجاد کردند. یک thread یک واحد اجرا است و یک برنامه‌نویس یک روال می‌نویسد که در thread اجرا می‌شود. سیستم عامل زمان‌بندی thread را مدیریت می‌کند. کمی کد را در ThreadA اجرا می‌کند. وقتی Thread A به IO نیاز دارد، Thread A را کنار می‌گذارد و شروع به اجرای کد در Thread B می‌کند. وقتی IO که Thread A تکمیل می‌کند، Thread A را از جایی که رها کرده بود از سر می‌گیرد. به این ترتیب، بین Thread A و B جابجا می‌شود و به نظر می‌رسد که به طور موازی اجرا می‌شوند. زیبایی این کار این است که کار را برای برنامه‌نویس برنامه ساده می‌کند. اکنون، اگر نیاز به نوشتن یک روال دارید که فایل را ذخیره می‌کند، نیازی به ارسال رویداد به حلقه ندارید. شما به سادگی یک حلقه for دارید که یک قطعه داده را در یک زمان می‌نویسد و در حالی که برنامه شما در حال انجام IO است، سیستم عامل CPU را به thread دیگری می‌دهد. این عالی بود زیرا کار برنامه‌نویس را آسان‌تر می‌کند.

در نهایت، سخت‌افزار به روز شد تا امکان چند رشته‌ای واقعی را در سطح CPU فراهم کند و مدل threading عالی بود زیرا به کد اجازه می‌داد بدون هیچ تغییری در کد در یک CPU چند هسته‌ای اجرا شود. توسعه‌دهندگانی که با یادگیری این موضوع بزرگ شده‌اند، آن را چیز خوبی می‌دانند. آنها thread را عالی می‌دانند و اگر زبان به آنها اجازه ایجاد threadهای خود را بدهد، آن را بسیار عالی می‌دانند. واسط‌ها تکامل یافتند تا سرورهای برنامه بزرگی را روی ماشین‌های لخت اجرا کنند. سرورهای برنامه مانند Apache/Tomcat یک pool از threadها برای رسیدگی به هر درخواست داشتند. هنگامی که یک درخواست دریافت شد، کد برنامه را که درخواست را در یکی از threadها ارائه می‌دهد، فراخوانی می‌کند. برنامه آنچه را که نیاز دارد انجام می‌دهد و برمی‌گردد و سرور برنامه thread را به pool برمی‌گرداند. این برای دهه‌ها به خوبی کار می‌کرد.

مگر اینکه threadها خیلی عالی نباشند. بزرگترین مشکل با threadها این است که پیگیری threadها و جابجایی بین آنها برای سیستم عامل پرهزینه است. بسیاری از توسعه‌دهندگان (به خصوص بسیاری از توسعه‌دهندگان جاوا) متوجه نمی‌شوند که نمی‌توانید به سادگی صد thread را شروع کنید. مشکل دوم با threadها این مفهوم نوشتن کد ایمن است. شما نمی‌خواهید حالت را بین threadها به اشتراک بگذارید و اگر این کار را می‌کنید، می‌خواهید contention را به حداقل برسانید.

در پایان روز، نوشتن کد چند رشته‌ای دشوار است و یک چیز که یاد گرفته‌ایم این است که threadها عالی هستند تا زمانی که آن را به دست توسعه‌دهندگان بدهیم. الف) ما نمی‌خواهیم توسعه‌دهندگان برنامه thread را شروع کنند و ب) زبان نباید به توسعه‌دهندگان اجازه دهد کد ناایمن از نظر نوع بنویسند. یک راه برای انجام این کار استفاده از زبانی است که بر اساس مفهوم اشیاء تغییرناپذیر ساخته شده است. این یک راه برای انجام این کار است، اما ما به آنجا نمی‌رویم. راه دیگر این است که هر سرور برنامه را تک رشته‌ای کنیم. شما می‌توانید یک مزرعه از سرورهای برنامه تک رشته‌ای را اجرا کنید. توسعه‌دهندگان برنامه نمی‌توانند در مورد ایمنی thread اشتباه کنند اگر نتوانند چندین thread را شروع کنند و کد آنها در یک thread واحد فراخوانی شود! ویندوز 3.1 هرگز مشکلات همزمانی نداشت! معلوم می‌شود برنامه‌نویسی مبتنی بر حلقه رویداد، برنامه‌نویسی ایمن از نظر thread است!

مزیت دیگر حلقه‌های رویداد این است که بسیار سبک‌تر هستند! شما سربار جابجایی context thread را ندارید. شما می‌توانید چندین درخواست را به طور همزمان با استفاده از یک حلقه رویداد ارائه دهید! به یاد داشته باشید که ما در حال رسیدن به محدودیت‌های فیزیکی CPU هستیم. ما به معنای واقعی کلمه نمی‌توانیم CPUها را خیلی سریع‌تر یا threadهای بیشتری بسازیم. آن لیمو را فشار داده‌ایم. تنها راهی که می‌توانیم سریع‌تر شویم این است که CPUهای بیشتری را به طور موازی اجرا کنیم و بهتر از CPU استفاده کنیم. بنابراین، هر چیزی که استفاده بهتری از CPU می‌کند (حتی اگر به قیمت حافظه و زمان برنامه‌نویس باشد) چیز خوبی است. همچنین، مفهوم توابع callback کار با حلقه رویداد را آسان‌تر می‌کند.

آنچه قبلاً بد بود، اکنون خوب است.

زبان‌ها ابزار هستند. ابزارها به خودی خود خوب یا بد نیستند. این نحوه استفاده از آنهاست. یک قلم به خودی خود یک ابزار نوشتن وحشتناک است اگر روی سنگ‌های لوح می‌نویسید. با این حال، هنگامی که کاغذ را مهندسی می‌کنید، قلم به یک ابزار نوشتن عالی تبدیل می‌شود.

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