คุณจำเป็นต้องรู้ Java ก่อนที่จะลอง Scala


15

ฉันสนใจเรียนรู้สกาล่า ฉันอ่านมากเกี่ยวกับเรื่องนี้ แต่หลายคนให้ความสำคัญกับมันเพราะมันมีรูปแบบนักแสดงที่ดีกว่าสำหรับการเกิดพร้อมกันมันจัดการ xml ด้วยวิธีที่ดีกว่ามากแก้ปัญหาของฟังก์ชั่นชั้นหนึ่ง

คำถามของฉันคือคุณต้องรู้จัก Java เพื่อทำความเข้าใจ / ชื่นชมวิธีการทำงานของ Scala? จะเป็นการดีกว่าถ้าคุณใช้การแทงที่ Java ก่อนจากนั้นลองใช้ Scala หรือคุณสามารถเริ่มต้น Scala โดยที่ไม่มี backround ของ Java อย่างแน่นอน


5
คุณต้องการ biface เพื่อชื่นชมว่าเลื่อยทำงานอย่างไร : D
back2dos

ฮ่า ๆ ฉันจะโหวตให้คำตอบนี้
gizgok

คำตอบ:


17

สกาลาเป็นภาษาของตนเองและไม่จำเป็นต้องมีความรู้ภาษาใด ๆ เลย หากคุณต้องการคุณสามารถเรียนรู้ภาษาสกาล่าเป็นภาษาแรกของคุณ ในหน้าLearning Scala ของเว็บไซต์มีจุดเข้าสู่การสอนสำหรับระดับประสบการณ์ที่แตกต่างกันตั้งแต่โปรแกรมเมอร์ครั้งแรกไปจนถึงนักวิจัยภาษาการเขียนโปรแกรมจนถึงผู้เชี่ยวชาญด้านการเขียนโปรแกรม

เอกสารส่วนใหญ่มุ่งเน้นไปที่ผู้ที่รู้วิธีการเขียนโปรแกรมโชคไม่ดี แต่จริง ๆ แล้วฉันเคยทำงานผ่านแบบฝึกหัด Scala มันไม่ได้แย่ขนาดนั้น เป็นที่คาดหวังว่าคุณจะเข้าใจแนวคิดพื้นฐานบางอย่าง


4
โทมัสนั้นถูกต้องสมบูรณ์ ฉันต้องการเพิ่มส่วนหนึ่งของการอุทธรณ์ของ Scala นั่นคือคุณสามารถนำไลบรารี่มาตรฐานขนาดใหญ่ของ Java กลับมาใช้ใหม่ได้ นั่นอาจจะใช่หรือไม่ใช่สิ่งสำคัญในกรณีของคุณ แต่ถ้าเป็นเช่นนั้นประสบการณ์ที่ผ่านมาของ Java จะเห็นได้ชัดว่ามีประโยชน์มากเพราะคุณไม่สามารถช่วยได้เรียนรู้มากมายเกี่ยวกับไลบรารีมาตรฐาน
Kilian Foth

@Kilian ฉันคิดเกี่ยวกับเรื่องนั้น ฉันยังคงเรียนรู้สกาล่าและยังไม่ได้ทำอะไรที่มีความหมายกับมัน แต่ฉันไม่แน่ใจว่าการรู้ภาษาจาวาเพื่อให้สามารถใช้ห้องสมุดจาวาในสกาลาเป็นเรื่องสำคัญ ไม่เหมือนกับที่คุณวางลงในไวยากรณ์ / สไตล์ของ Java เพื่อเรียก JAR ที่รวบรวมไว้ล่วงหน้าจาก Scala
โธมัสโอเวนส์

1
สำหรับเกือบทุกแพลตฟอร์มที่ทันสมัยมันใช้เวลานานในการเรียนรู้ห้องสมุดมาตรฐานมากกว่าที่จะเรียนรู้ไวยากรณ์ภาษา ดังนั้นมีประโยชน์ในการรู้จักไลบรารี Java ถ้าคุณพยายามเรียนรู้ Scala
Jeremy

16

Java หมายถึงสองสิ่งที่แตกต่าง:

  1. ภาษาจาวา - ซึ่งรวมถึงภาษาที่มีไวยากรณ์กฎคุณสมบัติและความหมายโดยรวม
  2. แพลตฟอร์ม Java - ซึ่งรวมถึง runtime (JVM), ไลบรารีมาตรฐานทั้งหมดและจำนวนเฟรมเวิร์ก / ไลบรารียอดนิยม โปรดทราบว่ายังมี "runtimes" Java อื่น ๆ เช่นการดำเนินการเป็น JavaScript หลังจากการคอมไพล์ผ่าน GWT หรือ Java บน Android ซึ่งยังทำงานในรันไทม์ที่แตกต่างกัน

ทั้งภาษา Java และ Scala ทำงานบนแพลตฟอร์มเดียวกัน AFAIK Scala สามารถเรียกใช้รหัส Java ได้อย่างง่ายดายดังนั้นหากมีความสนใจในการเรียนรู้ Java เพื่อทำความเข้าใจ / ยกระดับ Scala คุณต้องเข้าใจวิธีการทำงานนี้และวิธีการใช้รหัส Java จากภายในแอป Scala ได้ดีที่สุด ในฐานะภาษา Java ไม่น่าจะสอนคุณในสิ่งที่ C # จะไม่สอนคุณในขณะนี้ (ฉันสันนิษฐานจากโปรไฟล์ของคุณว่าคุณมีประสบการณ์ C #)

. NET-analogy ของคำถามนี้จะเป็น:

คุณจำเป็นต้องรู้ C # / VB.NET ก่อนลอง F # หรือไม่

ไม่ว่าในกรณีใดคำตอบก็คือ"ไม่"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.