Kotlin programozás - Szoftverfejlesztés fórum

üzenetek

hozzászólások


Oppenheimer
(veterán)

kotlinlang.org

Az Android és JVM alapú backend fejlesztés jövője. Hamarosan kijön az 1.0, úgyhogy épp ideje egy topikot nyitni.

[ Szerkesztve ]


Oppenheimer
(veterán)

Írtam egy kis appot amit az Android appom backendjének load testelésére használok.
Berakom a kódját, mert egész sok Kotlin feature-t használok benne azt hiszem.

github


fatal`
(titán)

Elérte a nyelv és az api az 1.0-s verziót. :) Akkor mostanában el is kezdem néhány kisebb cuccomat átírni javaról. :)


Oppenheimer
(veterán)

Nyár óta itthon mindent Kotlinban írok, és az azóta eltelt időszakban nem voltak komoly változások a nyelvben, sem standard libben. Ami törte a buildet, azt automatikusan migrálta a plugin.


Oppenheimer
(veterán)

2 hete megvolt az első szakmai állásinterjúm amin Kotlinról is szó volt. 1-2 kérdésre nem tudtam a választ. :D Jó látni, hogy vannak emberek rajtam kívül akik nyomják.

[ Szerkesztve ]


zseko
(veterán)
Blog

Érdekelne, valami programozási nyelvet ideje lenne már megtanulni, csak angolom igen gyér, magyarul sem könnyű amiket eddig néztem, aztán egymagamban mennyire lehet ezzel haladni? Bár roppantmód érdekel a programozás, nehezen áll rá az agyam, pláne ha egyedül kell megérteni valamit :B


Oppenheimer
(veterán)

Nem tudom Kotlinhoz vannak e jó magyar nyelvű források, szerintem az angol nyelv elengedhetetlen. Arra amúgy is szükséged lesz ha programozni akarsz, az angol nyelvű interneten milliószor több dolgot megtalálsz.


gojko.m
(senior tag)

Sziasztok!

Tudna valaki segíteni a compiler használatával kapcsolatban?

A következő a problémám:
Adott egy GitHub-on talált fejlesztés forráskódja, ami Kotlin nyelven íródott. Nem tudok programozni, viszont szeretném a fejlesztés legfrissebb változatát futtatni Windows op. rendszer alatt. A parancssoros compiler-t letöltöttem, java is van a számítógépemen és a "Hello Word" program futtatása is sikerült a leírtak alapján (link). Viszont valamiért a GitHub-os forráskódból nem tudok futtatható programot készíteni.

Ha valaki segítene, akkor leírom a részletesebben is a konkrét problémát (pl. melyik forráskód, milyen hibaüzenetek, stb). Akár itt, akár privátban szívesen fogadok mindenféle tanácsot, javaslatot.

Üdv: gojko


BigBlackDog
(veterán)
Blog

Sziasztok!

Úgy tűnik, hogy -szerencsére- a közeljövőben nekem is aktívabban el kell kezdenem foglalkozni a Kotlin világával. Az alap Kotlin tutorialok megvannak, relatív jól végigvezetnek a nyelven.

Viszont mi egy webes projektben a kliens oldalon szeretnénk használni. Szerver oldal adott, RESTes APIn keresztül lehet kommunikálni. Kotlines frontend tervezete esetén merre érdemes elindulni? Ha jól látom, létezik hivatalos plugin is a feladatra. Valakinek van ezzel tapasztalata már?


Aethelstone
(addikt)

Hát igen. Jó ez a Kotlin, de a penetrációja Androidon kívül 0.


BigBlackDog
(veterán)
Blog

No igen, egyelőre én sem érzem az átütő erőt a nyelvvel kapcsolatban (Androidon kívüli világban, pl. webes fejlesztések esetén). :D

[ Szerkesztve ]


K1nG HuNp
(őstag)

Szerintem teljesen felesleges még egy ennyire gyerekcipőben járó dologba időt fektetni. Egyetemen most mi is JavaScript (React) frontend + Kotlin REST API backended tolunk.

A frontendednek nem kell típusbiztosnak lennie, vagy ha nagyon erre vágysz akkor typescript, de az, hogy kotlinban írj js-t az abszurd, mert ehhez meg kell tanulnod a js-t is, onnan meg egyszerűbb ha tisztán js-ben írod a front-ended ahelyett, hogy ráhúznád még a Kotlint.


Sianis
(addikt)
Blog

Nekem már fizikai fájdalmaim vannak, ha Andoridra nem Kotlinban kell kódot írni.


fatal`
(titán)

Az egy 3 éves hsz volt (igaz ez meg egy fél éves) :D

Ha lenne rendes Scala plugin, meg hivatalos support, akkor az még jobb lenne. De ez is egy hatszázszor jobb, mint Javaban szenvedni.


bucsupeti
(senior tag)

Springboot backend fejlesztésre használ valaki Kotlint?


Sianis
(addikt)
Blog

Szerintem egyre többen. Mi is most kezdünk el egy új rendszert Springboot alapokon és kb 5 percig tartotta magát a Java, azóta mindenki már Kotlin felé hajlik. Jó lenne látni egy teljesítménybeli összehasonlítást, mert az nem kérdés, hogy jóval kevesebb kódot kell írnod.


bucsupeti
(senior tag)

Azóta mi már elkeszültünk az első kotlinos spring bootos backendünkkel. Produkcióban van az alkalmazás. Nagyon hatékonyan lehet dolgozni Kotlinban! Javásként pillanatok alatt átáltunk.


mobal
(MODERÁTOR)

Én. Kiváló.


-v-
(addikt)

+1 :K


csendes
(őstag)
Blog

Sziasztok, elég kihalt itt, de talán olvassa valaki. Kezdő tanfolyam vizsgafeladatnál akadtam el a függvényeknek történő paraméterátadás rejtélyeinél. A példa egy vizsgafeladatból lett kimazsolázva, önmagában nincs értelme, csak szemléltetésképpen készült. [Kotlin Playground]-on lett futtatva, a vizsga is hasonló környezetben volt. Utólag sikerült az eredeti feladatot másképp megoldani, de nem értem, hogy miért módosulnak az értékként a függvény hívásakor átadott paraméterek. :F
Kód:
/*
* You can edit, run, and share this code.
* play.kotlinlang.org
*/
import java.util.Arrays

fun mySubFunction(entry: Int):Int {
var newentry=entry
newentry+=10
return newentry
}

fun myMainFunction(anyArray: Array<Int>):Int {
val constArray=anyArray
println("This is the original constArray in myMainFunction: ${Arrays.toString(constArray)}")
var newArray=constArray
val n=newArray.count()-1
for (i in 0..n){
newArray[i]=mySubFunction(newArray[i])
}
println("This is the new anyArray in myMainFunction: ${Arrays.toString(anyArray)}") // Why is it modified?
println("This is the new constArray in myMainFunction: ${Arrays.toString(constArray)}") // How can a const Array change?
println("This is newArray in myMainFunction: ${Arrays.toString(newArray)}") // This is OK
var k=1
return k
}

fun main() {
var myArray=arrayOf<Int>(1,2,3,4,5)
var counter: Int
counter=myMainFunction(myArray)
println("This is the new myArray in Main: ${Arrays.toString(myArray)}") // How can this change, the function has only returned an integer?
}

Eredmény/output:
This is the original constArray in myMainFunction: [1, 2, 3, 4, 5]
This is the new anyArray in myMainFunction: [11, 12, 13, 14, 15]
This is the new constArray in myMainFunction: [11, 12, 13, 14, 15]
This is newArray in myMainFunction: [11, 12, 13, 14, 15]
This is the new myArray in Main: [11, 12, 13, 14, 15]


LioshDev
(friss újonc)

Látom hogy régi hozzászólás, de most ismerkedek a nyelvvel és kíváncsi voltam a megoldásra.

var newArray=constArray
helyett
var newArray=constArray.clone()

Gondolom az eredeti verzióban csak a tömb címe másolódik, nem a tartalma új tömbként


csendes
(őstag)
Blog

Köszönöm :R. Azért érdekes ez, mert a val constArray=anyArray (vagyis nem változó, hanem konstans) alapján az értéke nem változhatna, de constArray valójában egy pointer, ami a tömb első elemére mutat.

[ Szerkesztve ]


Reno7
(senior tag)

Sziasztok
Most ismerkedek a nyelvvel mint hobbista, és nem értem hogy miért nem tudok listOf meg arrayOf -ban lévő számokkal műveleteket végezni, a neten talált magyarázatokkal sem lettem okosabb sajna. Pythonnal kezdem programozni és ott nem futottam bele ilyen gondba.

fun main(){
    val adat = arrayOf(
    arrayOf("a", "b", "c"),
    arrayOf(1, 5, 6),
    arrayOf(9, 4, 3)
)

    val osszeg =adat[2][0] / adat[1][1]

    println(osszeg)
}

Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public inline operator fun BigDecimal.div(other: BigDecimal): BigDecimal defined in kotlin
public inline operator fun BigInteger.div(other: BigInteger): BigInteger defined in kotlin

[ Szerkesztve ]


csendes
(őstag)
Blog

A Kotlin a Javahoz közeli programozási nyelv, statically typed, szemben a Pythonnal, ami dynamically typed.
Próbáld futtatni az alábbi kódot szemléltetésként, itt is eléred [link]:
import java.math.BigDecimal
import java.math.BigInteger

fun main(){
var adat = arrayOf(
arrayOf("a", "b", "c"),
arrayOf(1, 5, 6),
arrayOf(9, 4, 3)
)
println(adat::class.simpleName);
println(adat[2][0]::class.simpleName);
println(adat[1][1]::class.simpleName);
val osszeg = BigDecimal(adat[2][0].toString())/BigDecimal(adat[1][1].toString());
println("%.1f".format(osszeg));
println(osszeg::class.simpleName);
val osszeg1 = BigDecimal(adat[2][0].toString().toDouble().toString())/BigDecimal(adat[1][1].toString());
println(osszeg1);
println(osszeg1::class.simpleName);
val osszeg2 = BigInteger(adat[2][0].toString())/BigInteger(adat[1][1].toString());
println(osszeg2);
println(osszeg2::class.simpleName);
val osszeg3 = BigDecimal(9.toDouble()/5);
println(osszeg3);
val osszeg4 = 9/5;
println(osszeg4);
}

Ha jól másoltam be, akkor az eredmény:
Array
Int
Int
2.0
BigDecimal
1.8
BigDecimal
1
BigInteger
1.8000000000000000444089209850062616169452667236328125
1

[ Szerkesztve ]


Reno7
(senior tag)

Így már sikerült működésre bírni :R
De nem értem hogy miért is kell stringgé alakítanom, mikor eleve számként szerepel a tömbben? Se nem integerként nem értelmezi, és a toDouble-t sem tudom használni...

üzenetek