Recientemente me encontré con una interesante y excelente serie de blogs escrita por Kalol Chakraborty , https://blogs.sap.com/2022/12/20/manera-fácil-de-escribir-algoritmos-en-abap-series-01/ en el que está discutiendo sobre la escritura de algoritmos en ABAP.
Ahora que Chat GPT ya está disponible, ya hemos visto muchos casos de uso en los que muchos desarrolladores han usado Chat GPT para generar código de un idioma a otro. Pensé, ¿por qué no usar Chat GPT y ver qué tan eficientemente podría convertir una pieza de código a ABAP?
me conecté a codigo lelet y buscó un algoritmo para probar esto.
Tomé el ejemplo de agrupar anagramas de la siguiente manera y luego di lo siguiente como entrada a Chat GPT para convertirlo a ABAP
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
if (strs.length == 0) return new ArrayList();
Map<String, List> ans = new HashMap<String, List>();
int[] count = new int[26];
for (String s : strs) {
Arrays.fill(count, 0);
for (char c : s.toCharArray()) count[c - 'a']++;
StringBuilder sb = new StringBuilder("");
for (int i = 0; i < 26; i++) {
sb.append('#');
sb.append(count[i]);
}
String key = sb.toString();
if (!ans.containsKey(key)) ans.put(key, new ArrayList());
ans.get(key).add(s);
}
return new ArrayList(ans.values());
}
}
El siguiente es el resultado en ABAP, que obtuve como respuesta de Chat GPT.
Puede encontrar el video del aviso que di, a continuación.
https://www.youtube.com/watch?v=2WUBCcl_szs
Ahora, la salida generada no está tan lejos de ser precisa con algunos errores menores de sintaxis que un desarrollador experto puede corregir. Pero lo que me sorprendió es el hecho de que pudo identificar sintaxis similares en ABAP y anotar eso.
Esto abre una gran vía de oportunidades donde el código se puede intercambiar entre varios idiomas. Las posibilidades son infinitas y estoy emocionado por lo que depara el futuro para ABAP y la comunidad de desarrolladores en general.
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073