Live data from Hacker News

What ChatGPT and AI-Based Program Generation Mean for Future of Software

cacm.acm.org

11–20 of 119 posts

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#11

I just don’t feel threatened by AI at all. Maybe I’m not seeing the full picture, but the quality of your software necessarily depends on a constant re-evaluation of customer needs, business priorities, human values, etc. Lots of squishy stuff. Programming is not just taking product requirements and spitting out the correct algorithms.

The threat isn't just from AI, unfortunately, it's from an entire class of powerful people willing to throw their money behind AI instead of behind customer needs, business priorities, and human values.

And who will prompt the AI for these powerful people?

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#12

I just don’t feel threatened by AI at all. Maybe I’m not seeing the full picture, but the quality of your software necessarily depends on a constant re-evaluation of customer needs, business priorities, human values, etc. Lots of squishy stuff. Programming is not just taking product requirements and spitting out the correct algorithms.

They are just trying to hire less programmers, because programmers are expensive. They will have even more business / system analysts than before. And they will still have to have programmers to piece stuff together and debug systems. They just think if they could have less programmers they would save money.

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#13
post #10

So... If it's so revolutionary, why can't I get it to solve level 1 advent of code problems? Like here is what it generates for the 2016 day 1 problem: def find_distance(instructions): x, y = 0, 0 direction = 0 # 0: North, 1: East, 2: South, 3: West visited = set() visited.add((0,0)) instructions = instructions.split(", ") for instruction in instructions: turn = instruction[0] distance = int(instruction[1:]) if turn…

> So... If it's so revolutionary, why can't I get it to solve level 1 advent of code problems?

Because it's a nascent technology that hasn't been optimized for solving advent of code problems. It can, however, do a lot of other cool stuff.

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#14

I just don’t feel threatened by AI at all. Maybe I’m not seeing the full picture, but the quality of your software necessarily depends on a constant re-evaluation of customer needs, business priorities, human values, etc. Lots of squishy stuff. Programming is not just taking product requirements and spitting out the correct algorithms.

Indeed. I yearn for a time when I just got to pump out code. Actually writing code in quantity hasn't been a part of my job for years. Figuring out what to do is more of the job than how.

I have no doubt that machines can write a lot of the boilerplate code going forward. But that's just the evolution of tools. Actually building systems; composing them and keeping them running... this is a whole other art.

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#15
I feel that in the short run, all programmers will simply become more productive. But in the medium and long run, the narrow SE roles will become obsolete: Such as any SE role where there’s a “certification process”, eg: Cloud (AWS, GCP, Kubernetes), iOS, Android, even CCNA, etc.

A generalist SE (side note: like how I assume HN’s readership bends towards) will be the one to benefit, as a good generalist SE can have networking understanding (CCNA), Ops/DevOps (cloud), and SE (backend, frontend, mobile) and more (at embedded programming is where the line could be drawn, but ChatGPT is good at explaining hardware concepts too!), to thrive and depend on ChatGPT or equivalent system for discernible assistance.

(Minor: I even tweeted my opinion with my personal note about it too: https://twitter.com/raj_nathani/status/1615709768487948292?s...)

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#16
What kind of basic programming does one have to do to fee threatened by chatgpt? This tool does great at regurgitating basic coding but anything a little more complex is a mix of nonsense and confidence. Do people actually write “leet code” on a daily basis?

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#17
post #10

So... If it's so revolutionary, why can't I get it to solve level 1 advent of code problems? Like here is what it generates for the 2016 day 1 problem: def find_distance(instructions): x, y = 0, 0 direction = 0 # 0: North, 1: East, 2: South, 3: West visited = set() visited.add((0,0)) instructions = instructions.split(", ") for instruction in instructions: turn = instruction[0] distance = int(instruction[1:]) if turn…

Well presumably it will get better, and it will get better at an accelerating rate.

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#18
post #10

So... If it's so revolutionary, why can't I get it to solve level 1 advent of code problems? Like here is what it generates for the 2016 day 1 problem: def find_distance(instructions): x, y = 0, 0 direction = 0 # 0: North, 1: East, 2: South, 3: West visited = set() visited.add((0,0)) instructions = instructions.split(", ") for instruction in instructions: turn = instruction[0] distance = int(instruction[1:]) if turn…

There’s evidence that it can already solve more difficult problems when given the right prompts and constraints.

https://github.com/openai/openai-cookbook/blob/main/techniqu...

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#19

I just don’t feel threatened by AI at all. Maybe I’m not seeing the full picture, but the quality of your software necessarily depends on a constant re-evaluation of customer needs, business priorities, human values, etc. Lots of squishy stuff. Programming is not just taking product requirements and spitting out the correct algorithms.

chatGPT is not a threat. ChatGPT is an omen for the threat that currently exists in the future.

A lot of people haven't really played with chatGPT in depth. This thing is next level. It's not just spitting out generic things, there is genuine understanding here and genuine creativity.

Here's a snippet from a chatGPT conversation I had based on your post:

   ME: Give more examples of squishy stuff that software developers need to handle. 

   chatGPT: 
   1. Ethical considerations: As technology advances, software developers may need to consider ethical implications of the products they create. For example, a developer working on a facial recognition system may need to consider issues of privacy and bias.

   2. User experience (UX) design: Creating a software that is easy to use and intuitive for the user is an important aspect of software development. Developers may need to consider factors such as layout, navigation, and accessibility to ensure that the software is user-friendly.

   3. Business strategy: Developers may need to consider the overall business strategy of the company they work for, and how their work contributes to achieving that strategy. This may involve working with other departments, such as sales or marketing, to ensure that the software is aligned with the company's goals.

   4. Security: Developers should consider security in their software development process to protect the software from hacking attempts, data breaches, and other security risks.

   5. Cultural and linguistic diversity: Developers must consider the cultural and linguistic diversity of their users, in order to create software that is inclusive, accessible and understandable for all users.

   6. Communication and collaboration: Developers often work in teams, and must be able to communicate effectively with other team members and stakeholders to ensure that the software is developed as intended.

   ME: Give example python code that serves some random customer in some random sector. Then explain how you would change that code to better serve the "squishy stuff" needed by the customer.  

   chatGPT: Here's an example of Python code that serves a random customer in the retail sector by calculating the total cost of a purchase including sales tax:

      def calculate_total_cost(price, sales_tax):
       total_cost = price + (price * sales_tax)
       return total_cost

      purchase_price = 100
      sales_tax_rate = 0.08

      total_cost = calculate_total_cost(purchase_price, sales_tax_rate)  
      print(total_cost)

   To better serve the "squishy stuff" needed by the customer, we could make the following changes:

   1. Add a function to calculate discounts based on customer loyalty or promotional offers, for example by adding a function that uses customer's ID as an argument.

   2. Add a function to handle different tax rates for different states or countries, for example by adding a function that uses the customer's address as an argument.

   3. Add a function to handle different currencies, for example by adding a function that uses the customer's preferred currency as an argument.

   4. Add a function to handle different languages, for example by adding a function that uses the customer's preferred language as an argument.

   Here is an example of how the code would look after making these changes:

      def calculate_total_cost(price, sales_tax, discount, customer_id):
       total_cost = price + (price * sales_tax)
       if customer_id in loyalty_customers:
        total_cost = total_cost - (total_cost * discount)
       return total_cost

      def tax_rate(customer_address):
       if customer_address in country_1:
        return 0.08
       elif customer_address in country_2:
        return 0.09
       else:
        return 0.07

      def currency_convert(price, customer_currency):
       if customer_currency == "USD":
        return price
       elif customer_currency == "EUR":
        return price * 0.8
       else:
        return price * 0.9

      def language_change(text, customer_language):
       if customer_language == "en":
        return text
       elif customer_language == "fr":
        return translate_to_french(text)
       else:
        return translate_to_spanish(text)
    
      purchase_price = 100
      customer_id = 123
      customer_address = "US"
      customer_currency = "USD"
      customer_language = "en"

      sales_tax_rate = tax_rate(customer_address)
      purchase_price = currency_convert(purchase_price, customer_currency)
      total_cost = calculate_total_cost(purchase_price, sales_tax_rate, 0.1, customer_id)
      text = f"Your total cost is: {total_cost} {customer_currency}"
      print(language_change(text, customer_language))

      This code now considers the customer's address, currency, language and ID, to provide the customer with a more personalized experience.
Honestly there's a good number of people who aren't getting how revolutionary chatGPT is because of all the other inconsequential AI buzz. You really need to play with this thing in depth. It is Creative. It can create it's own specs and implement those specs like I asked it too. It won't replace you, but it's definitely the precursor to something that will.
Post reply on HN