How is it different than Copilot in vscode? Their examples show the workflow that I already have using Copilot, that is, write a comment and see the code in the next line.
English as the new programming language for Apache spark
11–20 of 53 posts
Re: English as the new programming language for Apache spark
#12Re: English as the new programming language for Apache spark
#13How is it different than Copilot in vscode? Their examples show the workflow that I already have using Copilot, that is, write a comment and see the code in the next line.
```
spark_ai = SparkAI()
auto_df = spark_ai.create_df("2022 USA national auto sales by brand")
```
so the prompt will generate code that is part of the DAG
Re: English as the new programming language for Apache spark
#14Re: English as the new programming language for Apache spark
#15Knowing how things are right now with the LLM revolution, imagine 5-10-20 years downline. 20 years ago I was punching out lines of Java 1.4, pretty much same stuff I do today - but I can't even begin to imagine what I'll be doing or writing 20 years from now.
Being able to verify that generated code does exactly what it's supposed to do will be incredibly important. Perhaps that's an obvious statement. Perhaps the code for verifying things will be the only code worth looking at.
Re: English as the new programming language for Apache spark
#16Re: English as the new programming language for Apache spark
#17How is it different than Copilot in vscode? Their examples show the workflow that I already have using Copilot, that is, write a comment and see the code in the next line.
keep reading. Their API looks like ``` spark_ai = SparkAI() auto_df = spark_ai.create_df("2022 USA national auto sales by brand") ``` so the prompt will generate code that is part of the DAG
Re: English as the new programming language for Apache spark
#18So you have LLM-based English prompts as an interop layer to Python + PySpark, which is itself an interop layer onto the Spark core. Also, the generated Spark SQL strings inside the DataFrame API have their own little compiler into Spark operations.
When Databricks wrote PySpark, it was because many programmers knew Python but weren't willing to learn Scala just to use Spark. Now, they are offering a way for programmers to not bother learning the PySpark APIs, and leverage the interop layers all the way down, starting from English prompts.
This makes perfect sense when you zoom out and think about what their goal is -- to get your data workflows running on their cluster runtime. But it does make a programmer like me -- who developed a lot of systems while Spark was growing up -- wonder just how many layers future programmers will be forced to debug through when things go wrong. Debugging PySpark code is hard enough, even when you know Python, the PySpark APIs, and the underlying Spark core architecture well. But if all the PySpark code I had ever written had started from English prompts, it might make debugging those inevitable job crashes even more bewildering.
I haven't, in this description, mentioned the "usual" programming layers we have to contend with, like Python's interpreter, the JVM, underlying operating system, cloud APIs, and so on.
If I were to take a guess, programmers of the future are going to need more help debugging across programming language abstractions, system abstraction layers, and various code-data boundaries than they currently make do with.
Re: English as the new programming language for Apache spark
#19Re: English as the new programming language for Apache spark
#20One thing I find somewhat amusing about this is that all of the generated code is against the PySpark API. And the PySpark API is itself an interop layer to the native Scala APIs for Spark. So you have LLM-based English prompts as an interop layer to Python + PySpark, which is itself an interop layer onto the Spark core. Also, the generated Spark SQL strings inside the DataFrame API have their own little compiler int…